hztiny / tiny-sms
dev-main
2026-05-03 10:10 UTC
Requires
- php: ^7.3|^8.0
- overtrue/easy-sms: ^2.7
This package is auto-updated.
Last update: 2026-05-03 10:13:35 UTC
README
Install
composer require hztiny/tiny-sms
Usage
1. Define your Payload
use TinySms\Contracts\Payload; class LoginPayload implements Payload { public string $code; public function __construct(string $code) { $this->code = $code; } }
2. Implement ContentProvider
use InvalidArgumentException; use TinySms\Contracts\ContentProvider; use TinySms\Contracts\Payload; class AliyunLoginProvider implements ContentProvider { public function getContent(Payload $payload): string { return ''; } public function getTemplate(Payload $payload): string { return 'SMS_001'; } public function getData(Payload $payload): array { if (! $payload instanceof LoginPayload) { throw new InvalidArgumentException('Expected LoginPayload'); } return ['code' => $payload->code]; } }
3. Register and Send
use Overtrue\EasySms\EasySms; use TinySms\Message; use TinySms\Registry; use TinySms\Sms; // Configure EasySms $easySms = new EasySms($config); // Register providers $registry = new Registry(); $registry->set('login', 'aliyun', new AliyunLoginProvider()); // Create Sms client $sms = new Sms($easySms, $registry); // Send $message = new Message('login', new LoginPayload('8946')); $result = $sms->sendMessage($phone, $message); // Or $payload = new LoginPayload('8946'); $result = $sms->send($phone, 'login', $payload);
License
The MIT License (MIT)