ホームページ > バックエンド開発 > PHPチュートリアル > Laravel 5.1とイベント放送を備えたリアルタイムアプリ

Laravel 5.1とイベント放送を備えたリアルタイムアプリ

Christopher Nolan
リリース: 2025-02-17 11:14:10
オリジナル
397 人が閲覧しました

Laravel 5.1のイベント放送は、PHPでのリアルタイムアプリ開発を簡素化します。この機能により、PusherやRedisなどのリアルタイムPubSubソリューションにイベントを公開できます。 この記事では、この機能を使用してリアルタイムのTO DOアプリを構築することを示しています。

Real-time Apps with Laravel 5.1 and Event Broadcasting

基本的なTo Doアプリをリアルタイムアプリケーションに変換します。

重要な概念:

Laravel 5.1のイベント放送は、PusherやRedisなどのサービスにイベントを公開することにより、リアルタイムPHPアプリを容易にします。
    アイテムが作成、更新、削除されたときにトリガーされたLaravelイベントを定義することにより、リアルタイム機能が達成されます。 これらのイベントは、
  • インターフェイスを活用しています。
  • リアルタイムクラウドサービスであるプッシャーは、シームレスに統合されます。 プッシャーアカウントとそのサーバーライブラリが必要です。プッシャーJavaScriptクライアントは、クライアント側のイベント処理を処理します Laravelの放送は、node.jsのようなプラットフォームでは以前はより一般的で、PHPのリアルタイム機能を大幅に向上させます フレームワークの拡張性は、Composerパッケージまたはカスタムドライバーを介して他のリアルタイムソリューションをサポートしています。
  • ShouldBroadcast
  • セットアップ:
  • 最も単純なアプローチは、Homesteadの改善を使用することです。 または、GitとComposerがインストールされていることを確認してください。 スターターアプリをクローンします:

非リアルタイムアプリのテスト:

最初のアプリにはリアルタイムの更新がありません。 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

、および

の内容を元の記事で提供されているコードに置き換えます(ここでは複製するには長すぎます)。 これらのイベントはデータをシリアル化し、

チャンネルでブロードキャストします。 ShouldBroadcastbroadcastOnデータベースイベント:

php artisan make:event ItemCreated
php artisan make:event ItemUpdated
php artisan make:event ItemDeleted
ログイン後にコピー
ログイン後にコピー

Eloquentのモデルイベント(app/Events/ItemCreated.phpapp/Events/ItemUpdated.phpapp/Events/ItemDeleted.php)を使用して、サービスプロバイダー内でのブロードキャストイベント(itemAction)をトリガーします。 元の記事のコンテンツをコードに置き換えます(ここでは複製できないほど長すぎます)。

プッシャー統合:

  1. 登録:プッシャーアカウントと新しいアプリ(「todo-app」など)を作成します。 app_idkey、およびsecret

    に注意してください
  2. pusher php serverライブラリ:pusher phpサーバーライブラリをインストール:

    git clone https://github.com/cwt137/l51-todo-app todo-app
    cd todo-app
    composer install
    php artisan migrate
    ログイン後にコピー
    ログイン後にコピー
  3. javaScript:</body>resources/views/index.blade.php

    タグの前に次のjavaScriptコードを追加します。
    php artisan make:event ItemCreated
    php artisan make:event ItemUpdated
    php artisan make:event ItemDeleted
    ログイン後にコピー
    ログイン後にコピー
  4. 既存のjavaScript:inpublic/js/app.jsのコメント、addItem()およびremoveItem()関数呼び出しにコメントします。

  5. 作成pusher.js作成を作成し、元の記事からJavaScriptコードを追加します(ここでは複製できないほど長すぎます)。これは、public/js/pusher.jsチャンネルに登録し、イベントを処理してUIを更新します。 itemAction

リアルタイムアプリのテスト:

ファイルでプッシャー資格情報を設定します:

.env

2つのブラウザウィンドウを開きます。 一方のウィンドウの変更は、もう一方のウィンドウに即座に反映されるはずです。
composer require 'pusher/pusher-php-server:2.2.1'
ログイン後にコピー

結論:

Laravel 5.1のイベント放送は、PHPでのリアルタイムアプリ開発を簡素化します。 この機能は、Pusherなどのサービスと組み合わせて、動的で応答性の高いアプリケーションを作成するための強力で効率的な方法を提供します。 フレームワークの拡張性により、必要に応じて他のリアルタイムソリューションと統合できます。 元の記事のFAQは、長さのためにここでは省略されていますが、Laravelでのイベント放送に関する追加の詳細をカバーしています。

以上がLaravel 5.1とイベント放送を備えたリアルタイムアプリの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート