Heim >Backend-Entwicklung >PHP-Tutorial >Echtzeit-Apps mit Laravel 5.1 und Event Broadcasting
Die Event Broadcasting von
Laravel 5.1 vereinfacht die Echtzeit-App-Entwicklung in PHP. Diese Funktion ermöglicht die Veröffentlichung von Ereignissen in Echtzeit-PubSub-Lösungen wie Pusher oder Redis. Dieser Artikel zeigt, dass das Erstellen einer Echtzeit-Aufgaben-App mit dieser Funktionalität erstellt wird.
Wir werden eine grundlegende Aufgaben-App in eine Echtzeitanwendung verwandeln.
Schlüsselkonzepte:
ShouldBroadcast
-Schinschnittstelle. Setup:
Der einfachste Ansatz ist die Verbesserung von Homestead. Stellen Sie alternativ sicher, dass Git und Komponist installiert sind. Klonen Sie die Starter -App:
<code class="language-bash">git clone https://github.com/cwt137/l51-todo-app todo-app cd todo-app composer install php artisan migrate</code>
Testen Sie die Nicht-Real-Zeit-App:
der anfänglichen App fehlen Echtzeit-Updates. Öffnen Sie die Homepage in zwei Browsern. Das Ändern der To-Do-Liste in einem Browser wird in der anderen nicht ohne manuelle Aktualisierung reflektiert. Fügen wir Echtzeitfunktionen hinzu.
Echtzeitfunktionalität hinzufügen:
Wir werden drei Laravel -Ereignisse (ItemCreated
, ItemUpdated
, ItemDeleted
) definieren
Rundfunkereignisse:
Diese Ereignisse implementieren die -Schinschnittstellen. Diese Schnittstelle schreibt eine ShouldBroadcast
-Methode vor, die ein Array von Kanälen für den Rundfunk zurückgibt. Generieren Sie die Ereignisse: broadcastOn
<code class="language-bash">php artisan make:event ItemCreated php artisan make:event ItemUpdated php artisan make:event ItemDeleted</code>Ersetzen Sie den Inhalt von
, app/Events/ItemCreated.php
und app/Events/ItemUpdated.php
durch den im ursprünglichen Artikel angegebenen Code (zu langwierig, um sie hier zu reproduzieren). Diese Ereignisse serialisieren Daten und übertragen sie auf dem app/Events/ItemDeleted.php
Kanal. itemAction
Datenbankereignisse:
Wir werden die Modellereignisse von Eloquent (, created
, updated
) verwenden, um unsere Rundfunkereignisse innerhalb eines Dienstanbieters (deleted
) auszulösen. Ersetzen Sie den Inhalt durch den Code aus dem ursprünglichen Artikel (zu langwierig, um sich hier zu reproduzieren). app/Providers/AppServiceProvider.php
Pusher -Integration:
Registrierung: Erstellen Sie ein Pusher-Konto und eine neue App (z. B. "Todo-App"). Beachten Sie die app_id
, key
und secret
.
Pusher PHP Serverbibliothek: Installieren Sie die Pusher -PHP -Serverbibliothek:
<code class="language-bash">git clone https://github.com/cwt137/l51-todo-app todo-app cd todo-app composer install php artisan migrate</code>
JavaScript: Fügen Sie den folgenden JavaScript -Code vor dem Schließen
Das obige ist der detaillierte Inhalt vonEchtzeit-Apps mit Laravel 5.1 und Event Broadcasting. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!