黄色电影一区二区,韩国少妇自慰A片免费看,精品人妻少妇一级毛片免费蜜桃AV按摩师 ,超碰 香蕉

Laravel 事件處理

laravel 事件處理

事件提供了一個(gè)簡(jiǎn)單的觀察者實(shí)現(xiàn),它允許用戶訂閱和監(jiān)聽web應(yīng)用程序中觸發(fā)的各種事件。laravel中的所有事件類都存儲(chǔ)在 app / events 文件夾中,而偵聽器存儲(chǔ)在 app / listeners 文件夾中。

下面顯示了在您的web應(yīng)用程序中生成事件和偵聽器的工匠命令 -

php artisan event:generate

如上所述,該命令將生成事件和偵聽器到相應(yīng)的文件夾。

事件和監(jiān)聽器為分離web應(yīng)用程序提供了一種很好的方式,因?yàn)橐粋€(gè)事件可以有多個(gè)相互獨(dú)立的監(jiān)聽器。由artisan命令創(chuàng)建的events文件夾包括以下兩個(gè)文件:event.php和someevent.php。他們?cè)谶@里顯示

event.php

namespace app\events;
abstract class event{
   //
}</pre--> 

如上所述, <strong>event.php</strong> 包含類 <strong>event</strong> 的基本定義,并調(diào)用名稱空間 <strong>app \ events</strong> 。請(qǐng)注意,用戶定義或自定義事件是在此文件中創(chuàng)建的。

<h3>someevent.php</h3>

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 [];
   }
}</pre--> 

請(qǐng)注意,此文件使用序列化來在web應(yīng)用程序中廣播事件,并且此文件中還初始化了必要的參數(shù)。

例如,如果我們需要在構(gòu)造函數(shù)中初始化順序變量以注冊(cè)一個(gè)事件,我們可以通過以下方式來完成 -

public function __construct(order $order){
   $this->order = $order;
}
<h3>聽眾</h3>

聽眾處理正在注冊(cè)的事件中提到的所有活動(dòng)。工匠命令 <strong>事件:生成</strong> 創(chuàng)建所有 <strong>聽眾</strong> 的 <strong>應(yīng)用程序/聽眾</strong> 目錄。listeners文件夾包含一個(gè)文件 <strong>eventlistener.php</strong> ,它具有處理偵聽器所需的所有方法。

<h3>eventlistener.php</h3>

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){
      //
   }
}</pre--> 

如代碼所述,它包含用于管理各種事件的 <strong>句柄</strong> 函數(shù)。我們可以創(chuàng)建針對(duì)單個(gè)事件的各種獨(dú)立偵聽器。

<h3><a href="/s7900103/laravel facades.html">下一節(jié):laravel facades</a></h3> <h3><a href="/php/php_sz/180.html" target="_blank">laravel 教程</a></h3>
相關(guān)文章