parsilver/laravel-sms
Composer 安装命令:
composer require parsilver/laravel-sms
包简介
SMS provider for laravel framework
关键字:
README 文档
README
ส่ง SMS ไม่ใช่เรื่องยากอีกต่อไป เพียงแค่
<?php \SMS::send('0899991111', 'This is message');
ความต้องการระบบ
PHP 7.1 ขึ้นไป
Laravel 5.x หรือสูงกว่า
ติดตั้ง
ติดตั้งด้วยคำสั่ง composer
composer require parsilver/laravel-sms
หรือ เพิ่ม dependency เข้าไปใน composer
{
"require": {
"parsilver/laravel-sms": "^1.0"
},
}
แล้วรันคำสั่ง
php artisan vendor:publish --provider="Parsilver\SMS\SMSServiceProvider" --tag="config"
คุณก็จะได้คอนฟิกไฟล์ที่
/config/sms.php
ผู้ให้บริการ SMS
ตอนนี้ทางเรามีแค่ของ smartcomm เท่านั้นนะครับ หากท่านใดสนใจเพิ่มผู้ให้บริการก็ pull request มาได้เลยนะครับ
Smartcomm Provider
ดูเพิ่มเติมที่ Net-Innova
โปรดติดตั้ง guzzlehttp ก่อนการใช้งาน
composer require guzzlehttp/guzzle
# .env SMS_PROVIDER=smartcomm SMS_SMARTCOMM_USERNAME=xxxxxx SMS_SMARTCOMM_PASSWORD=xxxxxx
Null Provider
ไม่ทำการส่งใดๆทั้งสิ้น
# .env SMS_PROVIDER=null
การใช้งานเบื้องต้น
คุณสามารถส่งข้อความผ่านคำสั่งสั้นๆได้ด้วย SMS class
<?php \SMS::send('0899991111', 'This is message');
หรือด้วยวิธีจากการทำ DI ซึ่งในตัวอย่างนี้ทางเราได้ทำใน Controller ครับ ซึ่งท่านจะต้อง import class ด้านล่างเพื่อใช้งานด้วยครับ
<?php use Parsilver\SMS\Contract\SMSProvider;
<?php use App\Http\Controllers\Controller; use Parsilver\SMS\Contract\SMSProvider; class UserController extends Controller { /** * @var SMSProvider */ private $sms; public function __construct(SMSProvider $sms) { $this->sms = $sms; } public function handle() { //... $this->sms->send('0999999999', 'This is message'); //... } }
สร้างผู้ให้บริการของตัวเอง
ในบางครั้งท่านอาจจะมีผู้ให้บริการของท่านเองอยู่แล้ว แต่อยากจะ Customize เอง สามารถทำได้ดังนี้
<?php App\SMS; use Parsilver\SMS\Provider\AbstractSMSProvider; class MyProvider extends AbstractSMSProvider { /** * @param string $phoneNumber * @param string $message */ public function send($phoneNumber, $message) { // Process your provider here... } }
จากนั้นให้ไปลงทะเบียนที่ app\Providers\AppServiceProvider.php
<?php namespace App\Providers; use Parsilver\SMS\Facade\SMS; class AppServiceProvider extends ServiceProvider { //.... /** * Register any application services. * * @return void */ public function register() { SMS::extend('myProvider', function() { return new MyProvider(); }); } }
และเรียกใช้งานได้ด้วย
\SMS::driver('myProvider')->send('0999999999', 'This is message');
การทดสอบใน PHPUnit
คุณสามารถเปลี่ยนผู้ให้บริการเพื่อทดสอบได้ด้วย
<?php use Parsilver\SMS\Facade\SMS; SMS::fake();
ยกตำอย่างเช่น
<?php namespace Tests\Feature; use Tests\TestCase; use Parsilver\SMS\Facade\SMS; class ExampleTest extends TestCase { public function testShouldSuccess() { // Set SMS Provider to Fake SMS SMS::fake(); $phoneNumber = '0989999999'; $message = 'This is message'; // Try to send SMS::send($phoneNumber, $message); // Assert SMS::assertSent($phoneNumber, $message); } }
Contributing
หากท่านต้องการมีส่วนร่วมพัฒนาต่อใน repository นี้ ท่านต้องดำเนินการตามคำแนะนำดังนี้
อ่านเพิ่มเติมที่ CONTRIBUTING.md
统计信息
- 总下载量: 973
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 3
- 点击次数: 4
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2019-06-01