Real-time is gné choitianta iad fógraí in feidhmchláir ghréasáin chun foláirimh agus nuashonruithe láithreacha a sholáthar d’úsáideoirí gan gá an leathanach a athnuachan. In Laravel, is féidir leat a chomhtháthú go héasca Redis chun real-time fógraí a chur i bhfeidhm go héifeachtach. Redis a úsáid mar scuaine chun fógraí a sheachadadh ón bhfreastalaí chuig an gcliant láithreach.
Suiteáil Redis agus Laravel
Chun tús a chur leis, suiteáil Redis ar do fhreastalaí agus suiteáil an predis/predis
pacáiste in Laravel via Composer.
composer require predis/predis
Real-time Fógraí a Chomhtháthú
Cumraigh scuaine i Laravel
Ar dtús, cumraigh an scuaine isteach Laravel tríd an Redis fhaisnéis a chur leis an .env
gcomhad.
QUEUE_CONNECTION=redis
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
Cruthaigh an Event
Cruthaigh teachtaireacht event isteach Laravel chun real-time fógraí a sheoladh.
php artisan make:event NewNotificationEvent
Ansin, oscail an app/Events/NewNotificationEvent.php
comhad agus shaincheapadh an event t-ábhar.
use Illuminate\Broadcasting\Channel;
use Illuminate\Contracts\Broadcasting\ShouldBroadcastNow;
use Illuminate\Queue\SerializesModels;
class NewNotificationEvent implements ShouldBroadcastNow
{
use SerializesModels;
public $message;
public function __construct($message)
{
$this->message = $message;
}
public function broadcastOn()
{
return new Channel('notifications');
}
}
Cumraigh Broadcast Driver
Oscail an config/broadcasting.php
comhad agus bain úsáid as an redis
tiománaí chun real-time fógraí a chur i bhfeidhm le Redis.
'connections' => [
'redis' => [
'driver' => 'redis',
'connection' => 'default',
],
// ...
],
Seol Real-time Fógra
Nuair is gá duit fógra a sheoladh real-time, bain úsáid as an gceann event a chruthaigh tú díreach i rialtóir nó soláthraí seirbhíse.
use App\Events\NewNotificationEvent;
public function sendNotification()
{
$message = 'You have a new notification!';
event(new NewNotificationEvent($message));
}
Déileáil le Real-time Fógra ar an gCliant
Ar deireadh, láimhseáil an real-time fógra ar an gcliant ag baint úsáide as JavaScript agus Laravel Echo. Cinntigh go bhfuil Laravel Echo suiteáilte agus cumraithe agat do d’fheidhmchlár.
// Connect to the 'notifications' channel
const channel = Echo.channel('notifications');
// Handle the event when receiving a real-time notification
channel.listen('.NewNotificationEvent',(notification) => {
alert(notification.message);
});
Conclúid
Comhtháthú Redis agus Laravel ligeann duit real-time fógraí a imscaradh go héasca i d'fheidhmchlár gréasáin. Nuair a bheidh fógra nua ann, seolfaidh an feidhmchlár trí Redis, agus gheobhaidh an cliant an fógra láithreach gan gá an leathanach a athnuachan. Feabhsaíonn sé seo eispéireas an úsáideora agus feabhsaíonn sé idirghníomhaíocht an fheidhmchláir.