ccmelas/laravel-sharenet

Sharenet的Laravel包

v1.0.1 2018-01-29 15:22 UTC

This package is not auto-updated.

Last update: 2024-09-29 05:21:05 UTC


README

用于通过Sharenet发送短信的Laravel包(仅限尼日利亚)

安装

在您的laravel安装根目录下的composer.json文件夹中,在require块中添加以下内容

    "ccmelas/laravel-sharenet": "1.0.*"

然后运行

composer update

如果您的项目正在使用Laravel 5.5以上版本,您可以跳过本节中的下一两个指令,直接跳到配置部分。

在config/app.php的providers数组中添加以下行

Melas\Sharenet\SharenetServiceProvider::class

在同一文件的aliases数组中添加以下内容

'Sharenet' => Melas\Sharenet\Facades\Sharenet::class

配置

将您的Sharenet密钥添加到您的.env文件中,如下所示

SHARENET_SECRET='XXXXX'
SHARENET_SENDER_NAME='Melas'

要获取Sharenet密钥,请访问app.sharenet.io,登录或创建一个账户(如果没有的话)。在右上角点击您的头像,然后点击您的个人资料。在开发者标签页中,创建一个新的Personal Access Token。将出现一个模态窗口,其中包含您的Secret Key。

虽然不需要,但如果您希望发布sharenet.php配置文件,请运行以下命令

php artisan vendor:publish --provider="Melas\Sharenet\SharenetServiceProvider" --tag="config"

使用方法

以下是一个简单的代码片段,展示您如何使用此包

<?php
namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Sharenet;

class TestController extends Controller
{
    public function index()
    {
        $data = [
            'to' => '08034503911',
            'from' => 'Melas',
            'message' => 'This is a test message'
        ];
        Sharenet::send($data);
    }
}

您可以将一个getResponse()方法链起来,以获取以下格式的响应

    Sharenet::send($data)->getResponse();

    //sample response    
    {
        "status": "success"
        "message": "Message Sent Successfully"
    }

您可以直接检查消息是否已成功发送,如下所示:Sharenet::send($data)->isSuccessful()

您还可以将Sharenet用作Laravel通知的自定义驱动,如下所示

    // App/Notifications/TestNotification

    use Melas\Sharenet\Channels\SharenetChannel;

    ...

    public function via($notifiable)
    {
        return [SharenetChannel::class];
    }

    public function toSharenet($notifiable)
    {
        return 'Test message';
    } 

    // App/Controllers/TestController
    use App\Notifications\TestNotification

    ...

    public function testMethod()
    {
        $user = User::first();
        $user->notify(new TestNotification());
    }
    

此包期望您的$notifiable实体具有phone属性。您可以通过重写notifiable实体的routeNotificationForSharenet方法来指定一个替代属性。

    protected function routeNotificationForSharenet()
    {
        return $this->alternate_field;
    }

默认情况下,您的通知将使用配置文件中定义的SHARENET_SENDER_NAME值作为发送者名称。如果您想覆盖此值,您可以在通知的toSharenet方法中返回一个数组,如下所示

    public function toSharenet($notifiable)
    {
        return [
            'message' => 'Test message',
            'sender' => 'Override'
        ];
    }

贡献

此包欢迎贡献。请随意将其分叉并加以改进。

许可证

MIT许可证(MIT)。有关更多信息,请参阅许可证文件

想谈谈吗?

您可以随时通过电子邮件联系我 @ chiemelachinedum@gmail.com

喜欢这个包?给它加个星。

别忘了在Twitter上关注我