Maison > cadre php > Laravel > Explication détaillée de la façon dont Laravel utilise le pusher pour envoyer des messages

Explication détaillée de la façon dont Laravel utilise le pusher pour envoyer des messages

藏色散人
Libérer: 2020-01-26 14:32:53
avant
3669 Les gens l'ont consulté

Explication détaillée de la façon dont Laravel utilise le pusher pour envoyer des messages

1. Inscris-toi

1. Inscris-toi

https://. pusher.com/

2. Obtenez la clé, la clé secrète, l'app_id, etc.

2. Configurer le pusher

1. Installer pusher

composer require pusher/pusher-php-server
Copier après la connexion

2. Configurer 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
            ],
        ],
.....
Copier après la connexion

3. Créer des événements

1. comme suit :

<?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];
    }
}
Copier après la connexion

2. Les événements de diffusion ne nécessitent pas d'auditeurs ; les événements de diffusion doivent hériter de l'interface ShouldBroadcast

4. >1 .Événement déclencheur

event(new \App\Events\PusherEvent(&#39;测试&#39;));
Copier après la connexion

2. Code frontal

<!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>
Copier après la connexion

ps :

1. à

, vous devez donc configurer le certificat ; sinon la soumission échouera

https://pusher.com2 Si vous ne configurez pas le certificat, vous devez définir les paramètres

et

CURLOPT_SSL_VERIFYPEER<🎜 de curl. > dans CURLOPT_SSL_VERIFYHOST et les déclencheurs

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

Ajouté ci-dessous :curl_setopt($ch, CURLOPT_POSTFIELDS, $post_value);

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
Copier après la connexion
Pour plus d'articles techniques liés au framework Laravel, veuillez visiter le

tutoriel Laravel

colonne !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:cnblogs.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal