Inhaltsverzeichnis
3. Erstellen Sie eine Sendebestimmungsveranstaltung
V.
5. Entsenden Sie das Ereignis in Ihrem Controller
6. Hören Sie mit Laravel Echo auf die Kundenseite zu
Zusammenfassung der wichtigsten Schritte
Heim PHP-Framework Laravel Wie benutze ich Events Broadcasting in Laravel?

Wie benutze ich Events Broadcasting in Laravel?

Aug 01, 2025 am 07:19 AM
laravel Event -Sendung

Richten Sie den Broadcast -Treiber ein und installieren Sie das Pusher -Paket und konfigurieren Sie die Anmeldeinformationen in der .Env -Datei. 2. Aktivieren Sie Broadcast :: Routes () im RouteServiceProvider, um das Rundfunkrouting zu aktivieren. 3. Erstellen Sie eine Ereignisklasse, die die Soll -Broadcast -Schnittstelle implementiert, Broadcaston-, Broadcastas- und Broadcast -mit -Methoden definieren. 4. Definieren Sie die Autorisierungslogik des privaten Kanals in Routen/Kanälen.php; 5. Ereignisse über Event () oder Dispatch () im Controller verteilen; 6. Das Front-End verwendet Laravel Echo, um eine Verbindung zum Pusher herzustellen und Ereignisse des angegebenen Kanals anzuhören, um Echtzeit-Updates für den Kunden zu erzielen. Der vollständige Prozess stellt sicher, dass Ereignisse sicher vom Backend bis zum Frontend ausgestrahlt werden und für Echtzeit-Benachrichtigungen, Chats und andere Szenarien geeignet sind.

Wie benutze ich Event Broadcasting in Laravel?

Mit Events Broadcasting in Laravel können Sie Ereignisse von Ihrem Server zu clientseitigen Anwendungen in Echtzeit übertragen, in der Regel mit WebSockets. Dies ist nützlich für Funktionen wie Live-Benachrichtigungen, Chat-Systeme oder Echtzeit-Dashboards. Laravel erleichtert dies mit seinem Event -Rundfunksystem, das häufig mit Tools wie Pusher, Redis und Laravel Echo verwendet wird.

Wie benutze ich Event Broadcasting in Laravel?

Hier erfahren Sie, wie Sie Events Broadcasting in Laravel verwenden:


1. Setzen Sie den Broadcasting -Treiber ein

Wählen Sie zuerst einen Rundfunkfahrer. Am häufigsten ist Pusher , aber Laravel unterstützt auch Redis und andere.

Wie benutze ich Event Broadcasting in Laravel?
  • Installieren Sie das erforderliche Paket:

     Der Komponist benötigt Pusher/Pusher-Php-Server
  • Setzen Sie in .env Ihren Rundfunk -Treiber und Ihre Anmeldeinformationen:

    Wie benutze ich Event Broadcasting in Laravel?
    Broadcast_driver = Pusher

Pusher_app_id = your_app_id pusher_app_key = your_app_key pusher_app_secret = your_app_secret pusher_app_cluster = mt1

- Stellen Sie sicher, dass `config/runding.php` so eingestellt ist, dass Pusher verwendet wird (bei der Konfiguration standardmäßig).

---

### 2. ** Aktivieren Sie das Rundfunk in RouteServiceProvider **

Laravel deaktiviert standardmäßig die Rundfunkrouten. Sie müssen die Zeile "Broadcast :: Routes () in" App \ Providers \ RouteServiceProvider "innerhalb der" Boot "-Methode überzeugen:

`` `php
Verwenden Sie Illuminate \ Support \ Facades \ Sendungen;

öffentliche Funktion boot ()
{
    Sendung :: Routes ();
    // ...
}

Dies ermöglicht die Route /broadcasting/auth -Route für private Kanäle.


3. Erstellen Sie eine Sendebestimmungsveranstaltung

Generieren Sie eine Veranstaltung mit Artisan:

 Php Artisan Make: Event NewMessagesent

In Ihrer Veranstaltungsklasse ( NewMessageSent.php ) sollte der Implementierung ShouldBroadcast , um es aus dem Sendung zu gestalten:

 <? Php

Namespace App \ Ereignisse;

Verwenden Sie Illuminate \ Broadcasting \ Channel;
Verwenden Sie Illuminate \ Broadcasting \ Interactswithsockets;
Verwenden Sie Illuminate \ Broadcasting \ Presencechannel;
Verwenden Sie Illuminate \ Broadcasting \ privatechannel;
Verwenden Sie Illuminate \ Contracts \ Broadcasting \ SHODBROADCast;
Verwenden Sie Illuminate \ Foundation \ Events \ Dispatchable;
Verwenden Sie Illuminate \ Queue \ SerializesModels;

Klasse NewMessagesent -Geräte sollte BROADCASTS
{
    Verwenden Sie Versand, Interactswithsockets, serializesModels;

    öffentliche $ message;

    öffentliche Funktion __construct ($ message)
    {
        $ this-> message = $ message;
    }

    öffentliche Funktion Broadcaston ()
    {
        Neue privatechannel zurückgeben (&#39;Chat.&#39;. $ this-> message-> chat_id);
    }

    öffentliche Funktionsförderung ()
    {
        zurück "message.ent &#39;;
    }

    öffentliche Funktion BroadcastWith ()
    {
        return [&#39;message&#39; => $ this-> message-> content];
    }
}
  • broadcastOn() : Definiert den Kanal (öffentlich, privat oder Präsenz).
  • broadcastAs() : Optionaler benutzerdefinierter Ereignisname.
  • broadcastWith() : Anpassen von Daten an Clients anpassen.

Verwenden Sie PrivateChannel oder PresenceChannel , wenn Sie eine Autorisierung benötigen.


V.

Für private Kanäle wie chat.1 erfordert Laravel Autorisierung. Definieren Sie die Autorisierungslogik in routes/channels.php :

 Verwenden Sie Illuminate \ Support \ Facades \ Sendungen;

Broadcast :: Channel (&#39;Chat. {Chatid}&#39;, Funktion ($ user, $ chatid) {
    // true zurück, wenn der Benutzer auf diesen Chat zugreifen kann
    $ user-> chats-> enthält (&#39;id&#39;, $ chatid);
});

Dies stellt sicher, dass nur autorisierte Benutzer Ereignisse auf diesem Kanal erhalten.


5. Entsenden Sie das Ereignis in Ihrem Controller

 Verwenden Sie App \ Ereignisse \ newMessagesent;

// innerhalb einer Controller -Methode
Ereignis (NewMessagesent ($ message));
// Oder
NewMessageSent :: Dispatch ($ message);

Beim Versand überträgt Laravel das Ereignis an den angegebenen Kanal.


6. Hören Sie mit Laravel Echo auf die Kundenseite zu

Installieren Sie Laravel Echo und Pusher JS in Ihrem Frontend:

 NPM Install-Save Laravel-Echo Pusher-Js

Initialisieren Sie Laravel -Echo in Ihrem JS (z. B. resources/js/bootstrap.js ):

 Import echo von &#39;laravel-echo&#39;;

window.pusher = required (&#39;pusher-js&#39;);

window.echo = new echo ({{{
    Sender: &#39;Pusher&#39;,
    Schlüssel: process.env.mix_pusher_app_key,
    Cluster: process.env.mix_pusher_app_cluster,
    verschlüsselt: wahr,
    Authendpoint: &#39;/Broadcasting/Auth&#39;,,
    auth: {
        Header: {
            Autorisierung: &#39;Bearer&#39; localStorage.getItem (&#39;Token&#39;), //, wenn api auth verwendet
        },
    },
});

Stellen Sie sicher, dass Sie den Pusher -Schlüssel in .env offenlegen:

 Mix_pusher_app_key = "$ {pusher_app_key}"
Mix_pusher_app_cluster = "$ {pusher_app_cluster}"

Dann hören Sie auf die Veranstaltung zu:

 Echo.private (`chat.1`)
    .Listen (&#39;message.Sent&#39;, (e) => {
        console.log (e.message);
    });

Wenn Sie broadcastAs() nicht verwendet haben, verwenden Sie den vollständigen Ereignisklassennamen:

 .Listen (&#39;. App.Events.newMessagesent&#39;, (e) => {...})

Zusammenfassung der wichtigsten Schritte

  • ✅ Setzen Sie BROADCAST_DRIVER und Anmeldeinformationen
  • Broadcast::routes() in RouteServiceProvider
  • ✅ Erstellen Sie die Implementierung des Ereignisses ShouldBroadcast
  • ✅ Definieren Sie Kanal und optionales Author in routes/channels.php
  • ✅ Ereignis aus dem Backend absenden
  • ✅ Verwenden Sie Laravel Echo an Frontend, um zuzuhören

Die Verwendung von Events Broadcasting in Laravel ist nicht kompliziert, sobald Sie den Treiber eingerichtet haben und den Fluss verstehen. Es funktioniert hervorragend mit Vue/React -Apps und APIs, insbesondere in Kombination mit Sanctum für die Spa -Authentifizierung.

Machen Sie im Grunde genommen einfach den Event ausrundbar, sichern Sie den Kanal bei Bedarf und hören Sie auf dem Frontend zu.

Das obige ist der detaillierte Inhalt vonWie benutze ich Events Broadcasting in Laravel?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie implementieren Sie ein Überweisungssystem in Laravel? Wie implementieren Sie ein Überweisungssystem in Laravel? Aug 02, 2025 am 06:55 AM

Erstellen Sie Referenzen Tabelle, um Empfehlungsbeziehungen zu erfassen, einschließlich Empfehlungen, Empfehlungen, Empfehlungscodes und Nutzungszeit; 2. Definieren Sie die Beziehungen zwischen Hörern und Hasmany im Benutzermodell, um Empfehlungsdaten zu verwalten. 3. Erstellen Sie bei der Registrierung einen eindeutigen Empfehlungscode (kann durch Modellereignisse implementiert werden). 4. Erfassen Sie den Empfehlungscode, indem Sie die Parameter während der Registrierung abfragen, nach Überprüfung eine Empfehlungsbeziehung aufstellen und die Selbstverantwortung verhindern. 5. den Belohnungsmechanismus auslösen, wenn empfohlene Benutzer das angegebene Verhalten (Abonnementauftrag) abschließen; 6. Generieren Sie gemeinsame Empfehlungsverbindungen und verwenden Sie URLs mit Laravel Signature, um die Sicherheit zu verbessern. 7. Empfehlungsstatistiken auf dem Dashboard anzeigen, z. B. die Gesamtzahl der Empfehlungen und konvertierten Zahlen; Es ist notwendig, sicherzustellen, dass Datenbankbeschränkungen, Sitzungen oder Cookies bestehen bleiben.

Wie benutze ich Zubehör und Mutatoren in eloquent in Laravel? Wie benutze ich Zubehör und Mutatoren in eloquent in Laravel? Aug 02, 2025 am 08:32 AM

AccessorsandMutatorsinlaravel'seloquentorMaloutOrmatorMipulatemodelattributesWenRetriesingingingValues.1

Was sind Repository -Verträge in Laravel? Was sind Repository -Verträge in Laravel? Aug 03, 2025 am 12:10 AM

Das Repository -Muster ist ein Entwurfsmuster, mit dem die Geschäftslogik aus der Datenzugriffslogik entkoppelt wird. 1. Es definiert Datenzugriffsmethoden über Schnittstellen (Vertrag); 2. Die spezifischen Vorgänge werden von der Repository -Klasse implementiert. 3. Die Controller verwendet die Schnittstelle durch Abhängigkeitsinjektion und kontaktiert nicht direkt die Datenquelle. 4. Vorteile sind ordentlicher Code, starke Testbarkeit, einfache Wartung und Teamzusammenarbeit; 5. Für mittlere und große Projekte können kleine Projekte das Modell direkt verwenden.

Wie benutze ich Unterabfragen in eloquent in Laravel? Wie benutze ich Unterabfragen in eloquent in Laravel? Aug 05, 2025 am 07:53 AM

LaravelEloquentsupportssubqueriesinSELECT,FROM,WHERE,andORDERBYclauses,enablingflexibledataretrievalwithoutrawSQL;1.UseselectSub()toaddcomputedcolumnslikepostcountperuser;2.UsefromSub()orclosureinfrom()totreatsubqueryasderivedtableforgroupeddata;3.Us

Wie erstelle ich eine erholsame API mit Laravel? Wie erstelle ich eine erholsame API mit Laravel? Aug 02, 2025 pm 12:31 PM

Erstellen Sie ein Laravel -Projekt und konfigurieren Sie die Datenbankumgebung. 2. Handwerker verwenden, um Modelle, Migrationen und Controller zu generieren; 3. Definieren Sie die API -Ressourcenrouting in api.php; 4. Implementieren Sie die Additions-, Lösch-, Änderungs- und Abfragemethoden im Controller und verwenden Sie die Anforderungsüberprüfung. 5. Installieren Sie Laravelsanctum, um die API -Authentifizierung zu implementieren und Routen zu schützen. 6. JSON -Antwortformat vereinigen und Fehler behandeln; 7. Verwenden Sie Postbote und andere Tools, um die API zu testen, und erhalten Sie schließlich eine vollständige und erweiterbare Erholung.

MVC verstehen: Wie Laravel das Modell-View-Controller-Muster implementiert MVC verstehen: Wie Laravel das Modell-View-Controller-Muster implementiert Aug 02, 2025 am 01:04 AM

LaravelimplementsthemvcpatternByusingModelsfordatamanagement, ControllersforBusinessLogic und ViewsforPresentation.1) ModelsmodelleInlaravelArePowermallshandlingDataandrelationships.2) ControllersManagetheFlowbetweenModelsandviews.3) ViewsBladetemplattieren

Laravel MVC: Architekturbeschränkungen Laravel MVC: Architekturbeschränkungen Aug 03, 2025 am 12:50 AM

Laravel'SimplementationofMvChasLimitations: 1) ControllersoftenHandlemorethanjustdeciding WhoichmodelandviewTouse, führend to'fat'controllers.2) eloquentmodelscantakeontoomananyresponsibilitybeyBeyonddatarepresentation.3) Ansichten

Wie gehe ich mit wiederkehrenden Zahlungen mit Laravel Cassier um? Wie gehe ich mit wiederkehrenden Zahlungen mit Laravel Cassier um? Aug 06, 2025 pm 01:38 PM

InstalllaravelCashierviaCompoSerandConfiguremigration und Billabletrait.2.CreateSubScriptionPlansinStripedashboardandNotePlaniden.3.

See all articles