2015-04-26 24 views
20

Ho bisogno di implementare le chat in tempo reale e le notifiche in tempo reale nella mia applicazione. Qual è il modo migliore per farlo usando laravel-5? Suggeriscimi alcuni buoni pacchetti o le tue opinioni di esperti su di loro.Chat e notifiche in tempo reale in laravel 5

risposta

18

Per la chat in tempo reale è necessario utilizzare websocket asincroni.

Si può provare con questa libreria https://github.com/ratchetphp/Ratchet

laravel 5.2 chat

e questo progetto github.com/assertchris/tutorial-laravel-4-real-time-chat

buona biblioteca github.com/BrainBoxLabs/brain-socket

anche sorprendente tutorial con presa IO www.codetutorial.io/laravel-5-and-socket-io-tutorial/

esempio Video con AJAX e laravel 4 https://www.youtube.com/watch?v=GLDjgbbBvOg

+0

puoi usare il sistema di coda di laravel insieme a questo? mi chiedo semplicemente – astroanu

19

recente ho tenuto una conferenza a Symfony Live on "Building Real-Time Symfony Apps. What are your options?". Come parte di ciò ho coperto le tue opzioni per l'integrazione con framework in tempo reale. Sebbene la discussione riguardi Symfony, si applica anche a Laravel o ad altri framework PHP.

Se si desidera eseguire l'hosting automatico, lo Adnan's answer copre una serie di opzioni valide. Con PHP, le soluzioni basate su Ratchet sono la soluzione migliore. Tuttavia non offre il fallback HTTP, quindi è necessario implementare il proprio meccanismo di fallback.

PHP + Real-time framework integration

Nota: sostituire Symfony per laravel nell'immagine sopra

Dal momento che si sta integrando con il quadro in tempo reale in un modo loosely coupled non sei limitato a un PHP- soluzione basata. In tal caso, è necessario prendere una serie di considerazioni prima di scegliere quale sia la soluzione (di nuovo, si veda lo talk a cui ho fatto riferimento in precedenza).

L'alternativa all'hosting autonomo è ovviamente l'utilizzo di un servizio in hosting. Laravel 5.1 viene fornito con un Event Broadcaster per il servizio in tempo reale Pusher ospitato (per chi lavora per).

Symfony/Laravel + Pusher

Taylor Otwell pubblicato un video su Laracasts che copre come fare per fare questo: https://laracasts.com/lessons/broadcasting-events-in-laravel-5-1

Ho anche creato una serie di tutorials on building real-time laravel apps che ti guida attraverso la costruzione di un notifiche caratterizzato, flussi di attività e quindi autenticare un'applicazione di chat.

+0

Amo il tuo diagramma. Come si sarebbe adattato a questo? Sarebbe un possibile sostituto del pusher? –

+0

@KimStacks RethinkDB sarebbe un sostituto per il database, ma non un sostituto per il server -> meccanismo di consegna del client. – leggetter

+0

Anche se rethinkdb ha un feed di modifiche? –