مشاوره رایگان
دریافت لینک های دانلود دریافت پستی درب منزل مبلغ کل: تومان
جهت دریافت کد تخفیف به کانال تلگرام مراجعه و یا با پشتیبان آنلاین هماهنگ نمایید

آموزش مدیریت Event ها در فریم ورک Laravel لاراول


رویدادها (Event)، الگوی ساده ی observer را پیاده سازی می کنند. این الگو، به کاربراجازه می دهد تا به event ها گوش داده و گوش فراخوان (listener) ایجاد کند.

به زبان ساده تر، event به معنای «رخداد» است و ما در برنامه ای که می نویسیم، رخدادهای زیادی داریم، مثل : ثبت نام کاربر، افزودن مقاله به سایت، افزودن محصول جدید به سایت و غیره. Listener به معنای «شنونده» می باشد، شنوندگان در طول برنامه منتظرهستند، تا رخداد یا Event آنها را صدا بزند و عملیاتی که به آنها محول شده را انجام دهند.

مثلا انتشار مقاله جدید در سایت می شود event و ارسالِ ایمیلِ اطلاع رسانی به کاربران عضو سایت، می شود listener.

در Laravel کلاسهای Event در پوشه App/Events ذخیره می شوند و شنوندگان (listener) در پوشه app/Events ذخیره می شوند.

دستورartisan  زیر برای تولید Event و listener در زیر نشان داده شده است :

php artisan event:generate

این دستور، Event و listener را در پوشه های مربوطه همانطور که در بالا گفته شد ایجاد می کند.

یک رویداد(event) می تواند چندین شنونده (listener) داشته باشد که مستقل از یکدیگر هستند. پوشهevent  های ایجاد شده توسط فرمان artisan شامل دو فایل زیر است: event.php و SomeEvent.php. آنها در اینجا نشان داده شده اند .

 

Event.php

<?php
namespace App\Events;
abstract class Event{
   //
}

همانطور که در بالا ذکر شد event.php یک نمونه از کلاس Event هست و با namespace یا فضای نام  App\Events فراخوانی می شود.

توجه داشته باشید که Event هایی که توسط کاربر تعریف و یا سفارشی شده است، در این فایل ایجاد می شود.

 

SomeEvent.php

<?php

namespace App\Events;

use App\Events\Event;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;

class SomeEvent extends Event{
   use SerializesModels;
   /**
      * Create a new event instance.
      *
      * @return void
   */
   
   public function __construct(){
      //
   }
   
   /**
      * Get the channels the event should be broadcast on.
      *
      * @return array
   */
   
   public function broadcastOn(){
      return [];
   }
}

 

همانطوری که مشاهده می کنید، این فایل از serialization ، برای پخش همگانی رویدادها (broadcasting events) در یک برنامه وب استفاده می کند و پارامترهای لازم در این فایل نیز راه اندازی(initialized) می شوند.

  به عنوان مثال، اگر ما نیاز داشته باشیم تا بوسیله initialize یا مقداردهیِ order در متد سازنده (constructor)، یک event ثبت کنیم، می توانیم آن را به صورت زیر انجام دهیم:

public function __construct(Order $order){
   $this->order = $order;
}

Listeners تمام فعالیت های ذکر شده در یک event ثبت شده را مدیریت می کنند.دستور آرتیسان event:generate همه listener ها را در دایرکتوری app/listeners ایجاد می کند.

پوشه Listeners شامل فایل EventListener.php است که تمام متدهای مورد نیاز برای مدیریت listener ها را دارد.

EventListener.php

<?php

namespace App\Listeners;

use App\Events\SomeEvent;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;

class EventListener{
   /**
      * Create the event listener.
      *
      * @return void
   */
   
   public function __construct(){
      //
   }

   /**
      * Handle the event.
      *
      * @param SomeEvent $event
      * @return void
   */
   
   public function handle(SomeEvent $event){
      //
   }
}

همانطور که در کد بالا مشاهده می کنید EventListener.php حاوی تابع handle برای مدیریت event های مختلف هست.

ما می توانیم برای یک event یا رویداد، listener  های مستقل و مختلف زیادی را تعریف کنیم.

فصلِ: 28 , تعداد قسمت ها: 253 , سطح: صفر تا صد

این فصل در یک نگاه:

آشنایی با امکانات جدید لاراول ۷…

برخی از سرفصل های این پکیج آموزشی :   لاراول چیست و چرا ما لاراول استفاده میکنیم کامپوزر کارش چیه و نصب اون نصب لاراول آموزش نصب لاراول از طریق اینستالر آموزش نصب لاراول با استفاده ا…
فصلِ: 1 , تعداد قسمت ها: 2 , سطح: متوسط

این فصل در یک نگاه:

بهترین و پر بازده ترین روش تبدیل بازدیدکننده سایت به مشتری تبلیغات هدفمند و برند سازی هوشمندانه با ایمیل می باشد. ایمیل…

  وبینار(سمینار آنلاین) آموزش تکنیک های ایمیل مارکتینگ   اگر تا انتها این متن را مطالعه کنید نظر شما در مورد ایمیل مارکتینگ 180 درجه عوض می شود!! بر هیچکس پوشیده نیست که از سال 1972 که ای…
فصلِ: 4 , تعداد قسمت ها: 368 , سطح: صفر تا صد

این فصل در یک نگاه:

مباحث تکمیلی فریم ورک لاراول…

فصل اول :آموزش مقدماتی فریم ورک لاراول معرفی فریم ورک لاراول و پیشنیازهای انجام کار انجام کانفیگ های اولیه برای نصب و راه اندازی فریم ورک معرفی روش های نصب پروژه لاراولی از طریق سایت گی…
فصلِ: 1 , تعداد قسمت ها: 155 , سطح: صفر تا صد

این فصل در یک نگاه:

مباحث مقدماتی فریم ورک react.js…

توضیحات کلی مجموعه: فصل اول : آشنایی با مباحث مقدماتی فریم ورک react.js نصب و راه اندازی node.js  و کلیه پیش نیازهای لازم نصب فریم ورک react روی لوکال و انجام تست های لازم آغاز آشنایی …

تولید شده توسط کلیک سایت

پشتیبانی آنلاین
آماده پاسخگویی هستیم
انتخاب تصویر جهت ارسال:
در حال ضبط صدا

(جهت توقف و یا لغو ضبط از دکمه های زیر استفاده کنید)

توقف و ارسال :
لغو ضبط
در حال حاضر تمامی کارشناسان آفلاین هستند. همواره می توانید با شماره تلگرام / واتساپ 09010005000 به صورت آنلاین با ما در ارتباط باشید. جهت ورود به واتساپ کلیک کنید
0 پیام جدید
پشتیبان در حال تایپ ...
ارسال تصویر ضبط صدا
0 کارشناسان آنلاین می باشند
این گفت و گو توسط پشتیبان به اتمام رسید