البرمجة

تكامل Laravel و Pusher لإضافة إشعارات الويب بنظام فوري

في عالم تطوير الويب المعاصر، تصبح تجارب المستخدم أكثر تفاعلية ومبتكرة من خلال استخدام تقنيات حديثة. يعد Laravel و Pusher واحدة من الجمعيات الملهمة لتحقيق تلك التجارب الرائعة. دعنا نستكشف كيفية إنشاء إشعارات عبر الويب باستخدام Laravel وقنوات Pusher بشكل مفصل.

في البداية، Laravel يعد إطار عمل PHP قويًا وشهيرًا يوفر هيكل تطويري رائع، والذي يسهل عليك بناء تطبيقات الويب بسرعة وكفاءة. إحدى ميزاته الرائعة هي نظام الإشعارات الذي يمكنك من تقديم تجربة مستخدم متطورة.

أما بالنسبة لـ Pusher، فيعتبر نظامًا للتواصل الفوري بين الخوادم والعملاء، وهو يوفر قنوات اتصال حية (real-time channels) لتحقيق تحديثات فورية دون الحاجة إلى إعادة تحميل الصفحة.

لبدء تكامل Laravel مع Pusher، يجب أولاً تثبيت حزمة Pusher من خلال Composer. بعد ذلك، يتعين عليك تكوين ملف .env الخاص بتطبيق Laravel الخاص بك بمعلومات Pusher الصحيحة.

ثم، يمكنك إنشاء حدث (event) في Laravel يحتوي على المعلومات التي ترغب في إرسالها إلى العميل عند حدوث حدث معين. يتم ذلك بواسطة تنفيذ الواجهة ShouldBroadcast على الحدث وتحديد قناة البث (broadcast channel).

تابع ذلك بكتابة قناة البث باستخدام Pusher، حيث تقوم بتقديم البيانات من الخادم إلى العميل في الوقت الفعلي. بمجرد القيام بذلك، يمكن للعميل الاشتراك في القناة واستلام التحديثات عبر WebSocket.

تكمن القوة في هذه الطريقة في قدرتك على توفير إشعارات فورية للمستخدمين دون الحاجة إلى تحديث الصفحة. يمكن استخدام هذه التقنية لتنبيه المستخدمين حول أحداث هامة، مثل استلام رسائل جديدة أو تحديثات في الوقت الحقيقي لأي نشاط يتم في التطبيق.

من خلال استخدام Laravel و Pusher بشكل متكامل، يمكنك إضافة عنصر مبتكر وتفاعلي إلى تطبيق الويب الخاص بك، مما يعزز تجربة المستخدم ويجعل التفاعل مع التطبيق أكثر سلاسة وفعالية.

المزيد من المعلومات

بالطبع، دعونا نقوم بتوسيع المعلومات حول كيفية إنشاء إشعارات عبر الويب باستخدام Laravel و Pusher بشكل أكثر تفصيلاً.

أولاً، يجب أن تقوم بتثبيت حزمة Pusher عبر Composer في Laravel. يمكنك القيام بذلك بتشغيل الأمر التالي في سطر الأوامر:

bash
composer require pusher/pusher-php-server

بعد ذلك، قم بإعداد البيئة الخاصة بك في ملف .env لاستخدام خدمة Pusher. يجب أن يحتوي ملف .env على معلومات مثل مفتاح التطبيق ومفتاح الوصول والسر الخاص بـ Pusher. على سبيل المثال:

dotenv
PUSHER_APP_ID=your-app-id PUSHER_APP_KEY=your-app-key PUSHER_APP_SECRET=your-app-secret PUSHER_APP_CLUSTER=your-app-cluster

ثم، قم بإعداد الحدث الذي ترغب في بثه. يمكنك إنشاء حدث باستخدام الأمر Artisan:

bash
php artisan make:event NewNotificationEvent

ستجد الملف الذي تم إنشاءه في app/Events ويمكنك تعديله ليحتوي على البيانات التي ترغب في بثها. قد يكون شكله مثل هذا:

php
class NewNotificationEvent implements ShouldBroadcast { public $message; public function __construct($message) { $this->message = $message; } public function broadcastOn() { return new Channel('notifications'); } }

يحتوي هذا الحدث على خاصية $message التي سترسلها إلى العميل، ويتم بثه على قناة بث تسمى ‘notifications’.

بمجرد إنشاء الحدث، يجب عليك تحديد كيف ستتم معالجة هذا الحدث. يمكن أن يكون ذلك في أي مكان يحدث فيه حدث معين. على سبيل المثال، في وحدة التحكم (Controller) أو في الطبقة المسؤولة عن المنطقة الخاصة بالتطبيق.

بعد ذلك، ستحتاج إلى إعداد قناة Pusher لتسهيل التواصل بين الخادم والعميل. يمكنك إنشاء ملف broadcasting.php في مجلد config وتكوينه كالتالي:

php
'connections' => [ 'pusher' => [ 'driver' => 'pusher', 'key' => env('PUSHER_APP_KEY'), 'secret' => env('PUSHER_APP_SECRET'), 'app_id' => env('PUSHER_APP_ID'), 'options' => [ 'cluster' => env('PUSHER_APP_CLUSTER'), 'encrypted' => true, ], ], ],

أخيرًا، في الجانب العميل، يجب عليك الاشتراك في القناة واستخدام JavaScript للتعامل مع الإشعارات عند استلامها. يمكن أن يكون الكود في نهاية صفحة HTML الخاصة بك كالتالي:

html
<script src="https://js.pusher.com/7.0/pusher.min.js">script> <script> var pusher = new Pusher('{{ env("PUSHER_APP_KEY") }}', { cluster: '{{ env("PUSHER_APP_CLUSTER") }}', encrypted: true }); var channel = pusher.subscribe('notifications'); channel.bind('NewNotificationEvent', function(data) { alert('New Notification: ' + data.message); // يمكنك تخصيص الإشعار حسب احتياجاتك، مثل استخدام مكتبة تنبيهات مثل Toastr أو تطبيق تصميم الواجهة الخاص بك. }); script>

بهذا، يمكنك تحقيق نظام إشعارات فعّال عبر الويب باستخدام Laravel و Pusher. يمكنك تكامل هذا المفهوم في تطبيق الويب الخاص بك لتوفير تجربة مستخدم مثيرة وفعّالة في الوقت الفعلي.

مقالات ذات صلة

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر