Penyiaran acara Laravel 5.1 memudahkan pembangunan aplikasi masa nyata di PHP. Ciri ini membolehkan acara penerbitan untuk penyelesaian pubSub masa nyata seperti Pusher atau Redis. Artikel ini menunjukkan membina aplikasi tugasan masa nyata menggunakan fungsi ini.
Konsep Utama:
ShouldBroadcast
Persediaan:
Pendekatan paling mudah menggunakan Homestead bertambah baik. Sebagai alternatif, pastikan git dan komposer dipasang. Klon aplikasi starter:
git clone https://github.com/cwt137/l51-todo-app todo-app cd todo-app composer install php artisan migrate
Menguji App Non-Time:
Aplikasi awal tidak mempunyai kemas kini masa nyata. Buka laman utama dalam dua pelayar. Mengubah senarai tugasan dalam satu penyemak imbas tidak akan mencerminkan yang lain tanpa penyegaran manual. Mari tambahkan keupayaan masa nyata.
Menambah fungsi masa nyata:
Kami akan menentukan tiga peristiwa Laravel (, ItemCreated
, ItemUpdated
) yang dicetuskan pada penciptaan item, pengubahsuaian, dan penghapusan. ItemDeleted
Acara penyiaran:
Peristiwa -peristiwa ini akan melaksanakan antara muka. Antara muka ini mandat kaedah ShouldBroadcast
yang mengembalikan pelbagai saluran untuk penyiaran. Menjana peristiwa: broadcastOn
php artisan make:event ItemCreated php artisan make:event ItemUpdated php artisan make:event ItemDeleted
, app/Events/ItemCreated.php
, dan app/Events/ItemUpdated.php
dengan kod yang disediakan dalam artikel asal (terlalu panjang untuk menghasilkan semula di sini). Peristiwa -peristiwa ini bersiri data dan menyiarkannya di saluran app/Events/ItemDeleted.php
. itemAction
Peristiwa pangkalan data:
Kami akan menggunakan peristiwa model Eloquent (, created
, updated
) untuk mencetuskan acara penyiaran kami dalam penyedia perkhidmatan (deleted
app/Providers/AppServiceProvider.php
Pendaftaran: Buat akaun penolak dan aplikasi baru (mis., "Todo-app"). Perhatikan Pusher PHP Server Library: Pasang perpustakaan pelayan PHP Pusher: JavaScript: Tambahkan kod JavaScript berikut sebelum tag Komen JavaScript sedia ada: dalam Buat Menguji aplikasi masa nyata: Tetapkan kelayakan pusher anda dalam fail Buka dua tingkap penyemak imbas. Perubahan dalam satu tetingkap sepatutnya mencerminkan dengan serta -merta. Kesimpulan: Penyiaran acara Laravel 5.1 memudahkan pembangunan aplikasi masa nyata di PHP. Ciri ini, digabungkan dengan perkhidmatan seperti Pusher, menawarkan cara yang kuat dan cekap untuk membuat aplikasi yang dinamik dan responsif. Kelanjutan rangka kerja ini membolehkan integrasi dengan penyelesaian masa nyata yang diperlukan. Soalan Lazim dari artikel asal ditinggalkan di sini kerana panjang tetapi tutup butiran tambahan mengenai penyiaran acara di Laravel. Atas ialah kandungan terperinci Aplikasi masa nyata dengan Laravel 5.1 dan penyiaran acara. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!
app_id
, key
, dan secret
. git clone https://github.com/cwt137/l51-todo-app todo-app
cd todo-app
composer install
php artisan migrate
</body>
tag dalam resources/views/index.blade.php
: php artisan make:event ItemCreated
php artisan make:event ItemUpdated
php artisan make:event ItemDeleted
public/js/app.js
, mengulas panggilan fungsi addItem()
dan removeItem()
. pusher.js
: Buat public/js/pusher.js
dan tambahkan kod JavaScript dari artikel asal (terlalu panjang untuk menghasilkan semula di sini). Ini melanggan saluran itemAction
dan mengendalikan acara untuk mengemas kini UI. .env
anda: composer require 'pusher/pusher-php-server:2.2.1'