Dengan perkembangan pesat Internet mudah alih, komunikasi SMS telah menjadi cara yang sangat penting untuk orang ramai berkomunikasi dalam kehidupan seharian. Dalam banyak senario, kita perlu menggunakan fungsi penghantaran SMS untuk kod pengesahan, pemasaran dan operasi lain. Dalam rangka kerja ThinkPHP6, kami boleh melaksanakan operasi penghantaran SMS dengan mudah melalui konfigurasi dan panggilan mudah.
Pertama, kita perlu mengkonfigurasi platform SMS dalam sms.php dalam direktori konfigurasi fail konfigurasi. Di sini kami mengambil perkhidmatan SMS Awan Alibaba sebagai contoh. Dalam fail konfigurasi, anda perlu mengkonfigurasi ID AccessKey, Rahsia AccessKey, tandatangan dan templat platform SMS. Kod khusus adalah seperti berikut:
<?php return [ 'aliyun' => [ 'access_key_id' => '填写AccessKey', 'access_key_secret' => '填写AccessKey Secret', 'sign_name' => '填写短信签名', 'template_code' => [ 'verify' => '填写短信模板CODE', ] ], ];
Seterusnya, kita perlu memasang pakej pengembangan SDK. Memandangkan perkhidmatan SMS Alibaba Cloud memerlukan Alibaba Cloud SDK untuk sokongan PHP, kami perlu memasangnya melalui Composer. Masukkan arahan berikut dalam baris arahan:
composer require alibabacloud/sdk
Selepas pemasangan berjaya, kita boleh mula memanggil fungsi penghantaran SMS. Dalam pengawal, kita boleh melaksanakan penghantaran SMS melalui kod berikut:
<?php namespace appcontroller; use AlibabaCloudClientAlibabaCloud; use AlibabaCloudClientExceptionClientException; use AlibabaCloudClientExceptionServerException; use thinkacadeConfig; class Sms { /** * 发送短信验证码 * @param string $mobile 手机号码 * @param string $code 验证码 * @return bool 是否发送成功 */ public function sendVerifySms($mobile, $code) { //获取配置信息 $config = Config::get('sms.aliyun'); //设置短信模板参数 $templateParam = [ 'code' => $code ]; try { //调用阿里云短信发送接口 $result = AlibabaCloud::rpc() ->product('Dysmsapi') //可根据实际情况选择不同的服务地区 ->regionId('cn-hangzhou') ->version('2017-05-25') ->action('SendSms') ->method('POST') ->host('dysmsapi.aliyuncs.com') ->options([ 'query' => [ 'RegionId' => 'cn-hangzhou', 'PhoneNumbers' => $mobile, 'SignName' => $config['sign_name'], 'TemplateCode' => $config['template_code']['verify'], 'TemplateParam' => json_encode($templateParam), ], ]) ->request(); //判断短信发送状态 if ($result->toArray()['Code'] == 'OK') { return true; } else { return false; } } catch (ClientException $e) { return false; } catch (ServerException $e) { return false; } } }
Dalam kod di atas, mula-mula kita membaca maklumat konfigurasi platform SMS daripada fail konfigurasi, kemudian tetapkan parameter templat SMS, dan akhirnya hubungi antara muka Hantar SMS Awan Alibaba. Semasa proses panggilan antara muka, kita perlu menetapkan nombor telefon mudah alih, tandatangan SMS, KOD templat SMS, parameter templat SMS dan maklumat lain. Selepas antara muka berjaya dipanggil, kami boleh menentukan sama ada mesej teks berjaya dihantar dengan menilai kod status yang dikembalikan.
Ringkasnya, melaksanakan fungsi penghantaran SMS dalam rangka kerja ThinkPHP6 adalah agak mudah, hanya memerlukan konfigurasi dan panggilan ringkas. Semasa penggunaan, anda perlu memberi perhatian untuk melindungi maklumat peribadi seperti AccessKey dan Rahsia AccessKey. Pada masa yang sama, semasa memanggil antara muka, anda juga perlu memberi perhatian kepada pengendalian pengecualian untuk mengelakkan pengecualian program akibat kegagalan panggilan antara muka.
Atas ialah kandungan terperinci Bagaimana untuk menghantar mesej teks dalam ThinkPHP6?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!