>  기사  >  PHP 프레임워크  >  Laravel이 푸셔를 사용하여 메시지를 푸시하는 방법에 대한 자세한 설명

Laravel이 푸셔를 사용하여 메시지를 푸시하는 방법에 대한 자세한 설명

藏色散人
藏色散人앞으로
2020-01-26 14:32:533556검색

Laravel이 푸셔를 사용하여 메시지를 푸시하는 방법에 대한 자세한 설명

1. 푸셔 등록

1. 등록

https://pusher.com/

2. 키, 비밀키, app_id 등 가져오기

2 . 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을 구성합니다. 코드는 다음과 같습니다.

<?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. 필요; 브로드캐스트 이벤트 인터페이스를 상속해야 합니다. ShouldBroadcast

1. 이벤트 트리거

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

ps:

1. code>https://pusher.com으로 데이터를 제출해야 하므로 인증서를 구성해야 합니다. 그렇지 않으면 제출이 실패합니다

2. 인증서를 구성하지 않으면 컬의 를 설정해야 합니다. CURLOPT_SSL_VERIFYPEERCURLOPT_SSL_VERIFYHOST

curl_setopt($ch, CURLOPT_POSTFIELDS, $post_value);

아래에 추가됨:

<!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>
다음과 관련된 추가 기술 문서 laravel 프레임워크에 대해 알아보려면 laravel tutorial

칼럼을 방문해 보세요!

위 내용은 Laravel이 푸셔를 사용하여 메시지를 푸시하는 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 cnblogs.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제