Laravel 5.1のイベント放送は、PHPでのリアルタイムアプリ開発を簡素化します。この機能により、PusherやRedisなどのリアルタイムPubSubソリューションにイベントを公開できます。 この記事では、この機能を使用してリアルタイムのTO DOアプリを構築することを示しています。
Laravel 5.1のイベント放送は、PusherやRedisなどのサービスにイベントを公開することにより、リアルタイムPHPアプリを容易にします。
ShouldBroadcast
非リアルタイムアプリのテスト:
最初のアプリにはリアルタイムの更新がありません。 2つのブラウザでホームページを開きます。 1つのブラウザでTo-Doリストを変更すると、手動の更新がなければ他のブラウザには反映されません。リアルタイム機能を追加しましょう
git clone https://github.com/cwt137/l51-todo-app todo-app cd todo-app composer install php artisan migrate
アイテムの作成、変更、削除についてトリガーされた3つのLaravelイベント(
、、
)を定義します。ブロードキャストイベント:
これらのイベントは、ItemCreated
インターフェイスを実装します。このインターフェイスは、ブロードキャストのために一連のチャネルを返すItemUpdated
メソッドを義務付けています。 イベントを生成します:ItemDeleted
、、および
の内容を元の記事で提供されているコードに置き換えます(ここでは複製するには長すぎます)。 これらのイベントはデータをシリアル化し、チャンネルでブロードキャストします。
ShouldBroadcast
broadcastOn
データベースイベント:
php artisan make:event ItemCreated php artisan make:event ItemUpdated php artisan make:event ItemDeleted
Eloquentのモデルイベント(app/Events/ItemCreated.php
、app/Events/ItemUpdated.php
、app/Events/ItemDeleted.php
)を使用して、サービスプロバイダー内でのブロードキャストイベント(itemAction
)をトリガーします。 元の記事のコンテンツをコードに置き換えます(ここでは複製できないほど長すぎます)。
プッシャー統合:
登録:プッシャーアカウントと新しいアプリ(「todo-app」など)を作成します。 app_id
、key
、およびsecret
。
pusher php serverライブラリ:pusher phpサーバーライブラリをインストール:
git clone https://github.com/cwt137/l51-todo-app todo-app cd todo-app composer install php artisan migrate
javaScript:</body>
:resources/views/index.blade.php
:
php artisan make:event ItemCreated php artisan make:event ItemUpdated php artisan make:event ItemDeleted
既存のjavaScript:inpublic/js/app.js
のコメント、addItem()
およびremoveItem()
関数呼び出しにコメントします。
作成:pusher.js
作成を作成し、元の記事からJavaScriptコードを追加します(ここでは複製できないほど長すぎます)。これは、public/js/pusher.js
チャンネルに登録し、イベントを処理してUIを更新します。
itemAction
ファイルでプッシャー資格情報を設定します:
.env
composer require 'pusher/pusher-php-server:2.2.1'
Laravel 5.1のイベント放送は、PHPでのリアルタイムアプリ開発を簡素化します。 この機能は、Pusherなどのサービスと組み合わせて、動的で応答性の高いアプリケーションを作成するための強力で効率的な方法を提供します。 フレームワークの拡張性により、必要に応じて他のリアルタイムソリューションと統合できます。 元の記事のFAQは、長さのためにここでは省略されていますが、Laravelでのイベント放送に関する追加の詳細をカバーしています。
以上がLaravel 5.1とイベント放送を備えたリアルタイムアプリの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。