ホームページ > 記事 > PHPフレームワーク > Laravel がプッシャーを使用してメッセージをプッシュする方法の詳細な説明
#1. プッシャーを登録します#1. 登録
#https:// Pusher.com/2. キー、秘密キー、app_id などを取得します。
2. Pusher を設定します
1. Pusher をインストールします
composer require pusher/pusher-php-server
2. config/broadcasting.php
'default' => env('BROADCAST_DRIVER', 'pusher'), .... 'pusher' => [ 'driver' => 'pusher', 'key' => env('PUSHER_KEY'), 'secret' => env('PUSHER_SECRET'), 'app_id' => env('PUSHER_APP_ID'), 'options' => [ 'cluster' => 'ap1', 'encrypted' => true ], ], .....3 を設定します。イベントを作成します
1. コードは次のとおりです。
<?php namespace App\Events; use App\Events\Event; use Illuminate\Queue\SerializesModels; use Illuminate\Contracts\Broadcasting\ShouldBroadcast; class PusherEvent extends Event implements ShouldBroadcast { use SerializesModels; public $info; /** * PusherEvent constructor. */ public function __construct($info) { $this->info = $info; } /** * 指定广播频道(对应前端的频道) * Get the channels the event should be broadcast on. * * @return array */ public function broadcastOn() { return ['my-channel']; } /** * 指定广播事件(对应前端的事件) * @return string */ public function broadcastAs() { return 'my-event'; } /** * 获取广播数据,默认是广播的public属性的数据 */ public function broadcastWith() { return ['info' => $this->info]; } }
2. ブロードキャスト イベントにはリスナーは必要ありません。ブロードキャスト イベントはインターフェイス ShouldBroadcast
を継承する必要があります。 4. ブロードキャスト
1 .トリガーイベント
event(new \App\Events\PusherEvent('测试'));
2.フロントエンドコード
<!DOCTYPE html> <head> <title>Pusher Test</title> <script src="https://js.pusher.com/4.0/pusher.min.js"></script> <script> // Enable pusher logging - don't include this in production Pusher.logToConsole = true; var pusher = new Pusher('XXX', { cluster: 'ap1', encrypted: true }); var channel = pusher.subscribe('my-channel'); channel.bind('my-event', function(data) { alert(data.info); }); </script> </head>ps:
1.pusherはcurlを使用して
https://pusher.com データを送信するため、証明書を構成する必要があります。そうしないと送信が失敗します2. 証明書を構成しない場合は、curl の # を設定する必要があります。 ##CURLOPT_SSL_VERIFYPEER
CURLOPT_SSL_VERIFYHOST
#curl_setopt($ch, CURLOPT_POSTFIELDS,
vender/pusher/pusher-php-server/lib/Pusher のトリガーの $post_value。 php
以下に追加:
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
laravel フレームワークに関連する技術的な記事については、laravel チュートリアル
列をご覧ください。
以上がLaravel がプッシャーを使用してメッセージをプッシュする方法の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。