Heim  >  Artikel  >  PHP-Framework  >  Detaillierte Erklärung, wie Laravel Pusher zum Pushen von Nachrichten verwendet

Detaillierte Erklärung, wie Laravel Pusher zum Pushen von Nachrichten verwendet

藏色散人
藏色散人nach vorne
2020-01-26 14:32:533613Durchsuche

Detaillierte Erklärung, wie Laravel Pusher zum Pushen von Nachrichten verwendet

1. Registrieren

https:// pusher.com/

2. Schlüssel, geheimen Schlüssel, App_ID usw. abrufen

2. Pusher konfigurieren

1. Pusher installieren

composer require pusher/pusher-php-server
'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. Ereignisse erstellen

wie folgt:

<?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 [&#39;my-channel&#39;];
    }
 
    /**
     * 指定广播事件(对应前端的事件)
     * @return string
     */
    public function broadcastAs()
    {
        return &#39;my-event&#39;;
    }
 
    /**
     * 获取广播数据,默认是广播的public属性的数据
     */
    public function broadcastWith()
    {
        return [&#39;info&#39; => $this->info];
    }
}
2. Broadcast-Ereignisse erfordern keine Zuhörer; Broadcast-Ereignisse müssen die Schnittstelle ShouldBroadcast erben

4. Broadcast

1 .Trigger-Ereignis

event(new \App\Events\PusherEvent(&#39;测试&#39;));

2. Front-End-Code

<!DOCTYPE html>
<head>
  <title>Pusher Test</title>
  <script src="https://js.pusher.com/4.0/pusher.min.js"></script>
  <script>
 
    // Enable pusher logging - don&#39;t include this in production
    Pusher.logToConsole = true;
 
    var pusher = new Pusher(&#39;XXX&#39;, {
      cluster: &#39;ap1&#39;,
      encrypted: true
    });
 
    var channel = pusher.subscribe(&#39;my-channel&#39;);
    channel.bind(&#39;my-event&#39;, function(data) {
      alert(data.info);
    });
  </script>
</head>

ps:

1 auf

, daher müssen Sie das Zertifikat konfigurieren; andernfalls schlägt die Übermittlung fehl

2. Wenn Sie das Zertifikat nicht konfigurieren, müssen Sie die Curls

in und Triggers

https://pusher.com

Unten hinzugefügt:CURLOPT_SSL_VERIFYPEER

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
CURLOPT_SSL_VERIFYHOSTWeitere technische Artikel zum Laravel-Framework finden Sie im

Laravel-Tutorial

Kolumne! vender/pusher/pusher-php-server/lib/Pusher.php

Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung, wie Laravel Pusher zum Pushen von Nachrichten verwendet. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:cnblogs.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen