Pasang Komponen Penyiaran dan Laravel dan Konfigurasi Broadcast_Driver = Pusher dan Queue_Connection; 2. Buat aplikasi di laman web rasmi Pusher dan dapatkan kekunci aplikasi, isi fail .env yang sepadan dengan pemboleh ubah penolak; 3. Dayakan BroadcastServiceProvider dalam config/app.php dan tentukan saluran yang diberi kuasa dalam laluan/saluran.php; 4. Buat kelas acara yang melaksanakan antara muka yang harus dibebaskan, tetapkan saluran penyiaran dan format data, dan mencetuskan peristiwa dalam pengawal; 5. Front-end memperkenalkan Pusher JS dan Laravel Echo, memulakan konfigurasi dan mendengar saluran yang sepadan; 6. Mulakan perkhidmatan, log masuk ke pengguna mencetuskan acara itu, dan sahkan bahawa fungsi siaran masa nyata berjaya dijalankan melalui konsol penyemak imbas dan panel debug penolak.
Menyediakan Pusher dengan Laravel adalah mudah apabila anda mengetahui langkah -langkahnya. Pusher membolehkan penyiaran acara masa nyata dalam aplikasi Laravel-Perfect anda untuk pemberitahuan, aplikasi sembang, atau kemas kini langsung. Inilah cara untuk mendapatkannya berfungsi.

? 1. Pasang penolak dan penyiaran laravel
Pertama, pastikan anda mempunyai pakej yang diperlukan:
Komposer memerlukan Pusher/Pusher-PHP-Server
Laravel datang dengan sokongan penyiaran, tetapi anda perlu membolehkannya. Dalam fail .env
anda, tetapkan:

Broadcast_Driver = Pusher
Juga pastikan QUEUE_CONNECTION
ditetapkan (biasanya untuk sync
atau database
) -boadcasting sering berfungsi bersama -sama dengan beratur.
? 2. Konfigurasikan kelayakan penolak
Pergi ke Pusher.com , buat akaun (jika anda tidak mempunyai satu), dan buat aplikasi baru. Perhatikan nilai -nilai ini dari bahagian "Kekunci App":

-
PUSHER_APP_ID
-
PUSHER_APP_KEY
-
PUSHER_APP_SECRET
-
PUSHER_APP_CLUSTER
Tambahkannya ke fail .env
anda:
Pusher_app_id = your_app_id Pusher_app_key = your_app_key Pusher_app_secret = your_app_secret Pusher_app_cluster = your_cluster
Laravel menggunakannya secara automatik melalui fail config/broadcasting.php
.
? Petua: Pastikan
PUSHER_APP_KEY
sepadan dengan apa yang anda gunakan di frontend anda (misalnya, dalam JavaScript).
? 3. Dayakan Penyedia Perkhidmatan Penyiaran
Dalam config/app.php
, uncomment baris ini dalam array providers
:
App \ Providers \ BroadcastServiceProvider :: Class,
Ini mendaftarkan laluan dan logik untuk penyiaran.
Kemudian, dalam routes/channels.php
, anda boleh menentukan laluan kebenaran penyiaran (contohnya, untuk saluran peribadi).
Contoh:
Siaran :: Saluran ('User. {Id}', fungsi ($ pengguna, $ id) { kembali (int) $ user-> id === (int) $ id; });
? 4. Buat dan siarkan acara
Menjana acara:
PHP Artisan Make: Pemberitahuan Acara
Buka fail acara ( app/Events/NotificationSent.php
) dan melaksanakan ShouldBroadcast
:
<? Php App Namespace \ Events; Gunakan Illuminate \ Broadcasting \ Channel; Gunakan Illuminate \ Broadcasting \ InteractSwithSockets; Gunakan Illuminate \ Broadcasting \ PresenceChannel; Gunakan Illuminate \ Broadcasting \ Privatechannel; Gunakan Illuminate \ Contracts \ Broadcasting \ Nowalbroadcast; Gunakan Illuminate \ Foundation \ Events \ Dispatchable; Gunakan Illuminate \ giliran \ SerializesModels; alat pemberitahuan kelas harus disiarkan { Gunakan Dispatchable, InteractSwithSockets, SerializesModels; mesej awam $; Fungsi Awam __Construct ($ mesej) { $ this-> mesej = $ mesej; } Penyiaran Fungsi Awam () { kembali privatechannel baru ('pengguna'. auth ()-> id ()); // atau publicchannel ('pemberitahuan') } Penyiaran Fungsi Awam dengan () { kembali ['mesej' => $ this-> message]; } }
Sekarang hantar acara dari pengawal:
acara (pemberitahuan baru ('Hello, User!'));
? 5. Dengarkan di hadapan dengan JavaScript
Sertakan penolak JS dan Laravel Echo di frontend anda (misalnya, dalam resources/js/bootstrap.js
atau bilah):
<script src = "https://js.pusher.com/8.2.0/pusher.min.js"> </script> <script src = "https://cdn.jsdelivr.net/npm/laravel-echo@1.11.3/dist/echo.iife.js"> </script>
Mulakan Laravel Echo:
<script> window.echo = echo baru ({ penyiar: 'penolak', Kunci: 'Pusher-Key', // dari Pusher_App_Key Kluster: 'cluster your', // eg, 'mt1' disulitkan: benar, Authendpoint: '/penyiaran/auth', // untuk saluran peribadi auth: { tajuk: { 'X-csrf-token': document.queryselector ('meta [name = "csrf-token"]'). GetAttribute ('content') } } }); // dengar saluran peribadi Echo.private ('user' userId) .Listen ('pemberitahuan', (e) => { console.log (e.message); }); </script>
Pastikan anda mempunyai tag meta CSRF dalam susun atur anda:
<meta name = "csrf-token" content = "{{csrf_token ()}}">
? 6. Hidangkan dan menguji
Jalankan aplikasi Laravel anda:
PHP Artisan berkhidmat
Pastikan anda log masuk (kerana saluran swasta bergantung kepada auth), kemudian mencetuskan peristiwa.
Semak konsol penyemak imbas dan log Laravel ( storage/logs/laravel.log
) untuk kesilapan.
Gunakan konsol debug penolak (dalam papan pemuka pusher) untuk melihat acara masa nyata dihantar.
Itu sahaja. Anda telah menyediakan penyiaran masa nyata dengan Pusher dan Laravel. Ia tidak rumit, tetapi bahagian -bahagian utama yang tepat .env
, Persediaan Acara, Auth, dan Frontend Echo Config -Must perlawanan tepat.
Atas ialah kandungan terperinci Bagaimana untuk menubuhkan Pusher dengan Laravel?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Terdapat tiga cara untuk menambah peraturan pengesahan tersuai di Laravel: Menggunakan penutupan, kelas peraturan, dan permintaan borang. 1. Gunakan penutupan sesuai untuk pengesahan ringan, seperti menghalang nama pengguna "admin"; 2. Buat kelas peraturan (seperti ValidUserNamerule) untuk membuat logik kompleks lebih jelas dan dapat dipelihara; 3. Mengintegrasikan pelbagai peraturan dalam permintaan borang dan mengurus logik pengesahan secara berpusat. Pada masa yang sama, anda boleh menetapkan arahan melalui kaedah mesej tersuai atau array mesej ralat masuk untuk meningkatkan fleksibiliti dan penyelenggaraan.

Kaedah teras untuk aplikasi Laravel untuk melaksanakan sokongan berbilang bahasa termasuk: menetapkan fail bahasa, penukaran bahasa dinamik, penghalaan URL terjemahan, dan mengurus kekunci terjemahan dalam templat bilah. Pertama, aturkan rentetan setiap bahasa dalam folder yang sepadan (seperti en, es, fr) dalam direktori /sumber /lang, dan tentukan kandungan terjemahan dengan mengembalikan array bersekutu; 2. Terjemahkan nilai utama melalui panggilan fungsi penolong \ _ _ _ _ (), dan gunakan app :: setLocale () untuk menggabungkan sesi atau parameter penghalaan untuk merealisasikan pertukaran bahasa; 3. Untuk URL Terjemahan, laluan boleh ditakrifkan untuk bahasa yang berbeza melalui kumpulan penghalaan prefixed, atau alias laluan dalam fail bahasa yang dipetakan secara dinamik; 4. Simpan kunci terjemahan ringkas dan

TowOrkeffectivyWithPivotTableSinlaravel, firstAccessPivotDataingWithPivot () orwithTimestamps (), thenupdateEntriesWithupdatee XistingPivot (), ManagerelationshipSviadetach () andSync (), AnduseCustompivotModelSwhenneeded.1.usewithPivot () toincludespecificcol

Laravelprovidesacleanandflexiblaytosendnotificationsviamultiplechannelslikeemail, sms, in-appalerts, andpushnotifications.youdinotificationchannelsinthevia () methodoFanotificationClass, andImplementsPecificmethods (toDDoTaTaStoMail (toDDoTaTaStomail (toDDoTaTaSTOMAIL (

ServiceProvider adalah mekanisme teras yang digunakan dalam rangka kerja Laravel untuk mendaftarkan perkhidmatan dan memulakan logik. Anda boleh membuat perkhidmatan perkhidmatan tersuai melalui perintah artisan; 1. Kaedah daftar digunakan untuk mengikat perkhidmatan, mendaftarkan singleton, menetapkan alias, dan lain -lain, dan perkhidmatan lain yang belum dimuatkan tidak dapat dipanggil; 2. Kaedah boot berjalan selepas semua perkhidmatan didaftarkan dan digunakan untuk mendaftarkan pendengar acara, melihat sintesis, middleware dan logik lain yang bergantung kepada perkhidmatan lain; Kegunaan umum termasuk antara muka dan pelaksanaan yang mengikat, mendaftarkan fasad, memuatkan konfigurasi, mendaftarkan arahan baris arahan dan melihat komponen; Adalah disyorkan untuk memusatkan pengikatan yang relevan kepada perkhidmatan perkhidmatan untuk mengurus, dan memberi perhatian kepada pendaftaran

Suntikan ketergantungan secara automatik mengendalikan kebergantungan kelas melalui bekas perkhidmatan di Laravel tanpa objek baru manual. Intinya adalah suntikan pembina dan suntikan kaedah, seperti lulus secara automatik dalam contoh permintaan dalam pengawal. Ketergantungan parses Laravel melalui jenis arahan dan rekursif mencipta objek yang diperlukan. Antara muka dan pelaksanaan yang mengikat boleh digunakan oleh pembekal perkhidmatan untuk menggunakan kaedah mengikat, atau singleton untuk mengikat singleton. Apabila menggunakannya, anda perlu memastikan jenis arahan, elakkan komplikasi pembina, gunakan pengikatan konteks dengan berhati -hati, dan memahami peraturan parsing automatik. Menguasai ini dapat meningkatkan fleksibiliti dan penyelenggaraan kod.

Kaedah teras untuk mengendalikan pengecualian dan kesilapan rakaman dalam aplikasi Laravel termasuk: 1. Gunakan Kelas Pengecualian APP \ Pengecualian untuk mengurus pengecualian yang tidak diasingkan, dan merekodkan atau memberitahu maklumat pengecualian melalui kaedah laporan (), seperti menghantar pemberitahuan Slack; 2. Gunakan monolog untuk mengkonfigurasi sistem log, tetapkan kaedah log dan output dalam config/logging.php, dan membolehkan ralat dan log peringkat di atas dalam persekitaran pengeluaran. Pada masa yang sama, maklumat pengecualian terperinci boleh direkodkan secara manual dalam laporan () dalam kombinasi dengan konteks; 3. Sesuaikan kaedah render () untuk mengembalikan tindak balas ralat format JSON bersatu, meningkatkan kecekapan kerjasama depan dan belakang API. Langkah -langkah ini adalah

Pengoptimuman prestasi Laravel dapat meningkatkan kecekapan aplikasi melalui empat arah teras. 1. Gunakan mekanisme cache untuk mengurangkan pertanyaan pendua, menyimpan data yang jarang berubah melalui cache :: ingat () dan kaedah lain untuk mengurangkan kekerapan akses pangkalan data; 2. Mengoptimumkan pangkalan data dari model ke pernyataan pertanyaan, elakkan pertanyaan n 1, menentukan pertanyaan medan, menambah indeks, pemprosesan paging dan pemisahan membaca dan menulis, dan mengurangkan kesesakan; 3. Gunakan operasi yang memakan masa seperti menghantar e-mel dan mengeksport fail ke pemprosesan asynchronous giliran, gunakan penyelia untuk menguruskan pekerja dan menubuhkan mekanisme semula; 4. Gunakan middleware dan penyedia perkhidmatan dengan munasabah untuk mengelakkan logik kompleks dan kod permulaan yang tidak perlu, dan kelewatan pemuatan perkhidmatan untuk meningkatkan kecekapan permulaan.
