校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁(yè) > 知識(shí)庫(kù) > Laravel事件監(jiān)聽(tīng)器用法實(shí)例分析

Laravel事件監(jiān)聽(tīng)器用法實(shí)例分析

熱門(mén)標(biāo)簽:芒果電銷(xiāo)機(jī)器人 上海公司外呼系統(tǒng)線路 電梯外呼線路板維修視頻 安陽(yáng)自動(dòng)外呼系統(tǒng)價(jià)格是多少 銀川ai電話機(jī)器人 臨沂智能電銷(xiāo)機(jī)器人軟件 地圖標(biāo)注風(fēng)向標(biāo) 十堰ai電話機(jī)器人效果怎么樣 浙江外呼電話系統(tǒng)軟件

本文實(shí)例講述了Laravel事件監(jiān)聽(tīng)器用法。分享給大家供大家參考,具體如下:

這里講述最佳實(shí)踐方案,分以下步驟:

第一步:注冊(cè)事件和監(jiān)聽(tīng)器。

在EventServiceProvider的linsten數(shù)組里面加上事件和監(jiān)聽(tīng)器,鍵名是事件,鍵值里面的數(shù)組是一個(gè)或者多個(gè)監(jiān)聽(tīng)器,意思是當(dāng)某一個(gè)事件發(fā)生的時(shí)候,傳送給數(shù)組里面的那些個(gè)監(jiān)聽(tīng)器,執(zhí)行一些列操作。

這里,我監(jiān)聽(tīng)發(fā)送短信驗(yàn)證碼事件,一旦有發(fā)送驗(yàn)證碼動(dòng)作,我就要到驗(yàn)證碼發(fā)送記錄表里面添加一條數(shù)據(jù),用以記錄。

D:\phpStudy\WWW\BCCKidV1.0\app\Providers\EventServiceProvider.php

protected $listen = [
  'App\Events\Event' => [
    'App\Listeners\EventListener',
  ],
  'App\Events\SendPhoneCodeEvent' => [
    'App\Listeners\SendPhoneCodeListener',
  ],
];

第二步:生成監(jiān)聽(tīng)和事件文件。

php artisan event:generate

就會(huì)自動(dòng)生成如下兩個(gè)文件:

D:\phpStudy\WWW\BCCKidV1.0\app\Events\SendPhoneCodeEvent.php
D:\phpStudy\WWW\BCCKidV1.0\app\Listeners\SendPhoneCodeListener.php

第三步:打開(kāi)App\Events\SendPhoneCodeEvent,

加上一個(gè)屬性,這個(gè)屬性是一個(gè)數(shù)組,里面會(huì)有驗(yàn)證碼內(nèi)容,接收驗(yàn)證碼的手機(jī)號(hào)碼等信息。

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

第四步:設(shè)置監(jiān)聽(tīng)器里面需要執(zhí)行的操作,這里我就直接插入一條記錄就行了。

public function handle(SendPhoneCodeEvent $event)
{
  AuthCode::create($event->data);
}

第五步:觸發(fā)事件。

use App\Events\SendPhoneCodeEvent;
...
$data = [
  'findBy' => $findBy,
  'auth_code' => $code,
  'customer_id' => $customer_id,
  'expire_time' => date('Y-m-d H:i:s', time() + 300),
];
#觸發(fā)事件
event(new SendPhoneCodeEvent($data));

自己的想法:

1、事件的作用其實(shí)可以被一個(gè)方法代替,你在需要調(diào)用的地方引用一下,然后執(zhí)行這個(gè)方法就行了。但是事件有個(gè)好處,他默認(rèn)使用隊(duì)列來(lái)處理,可以用來(lái)操作那些比較耗時(shí)的操作,例如發(fā)送郵件,發(fā)送驗(yàn)證碼等等。

2、代碼比較整潔,看起來(lái)會(huì)舒服一點(diǎn)。

更多關(guān)于Laravel相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《Laravel框架入門(mén)與進(jìn)階教程》、《php優(yōu)秀開(kāi)發(fā)框架總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mén)教程》、《php+mysql數(shù)據(jù)庫(kù)操作入門(mén)教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》

希望本文所述對(duì)大家基于Laravel框架的PHP程序設(shè)計(jì)有所幫助。

您可能感興趣的文章:
  • Laravel日志用法詳解
  • Laravel中Trait的用法實(shí)例詳解
  • laravel中的錯(cuò)誤與日志用法詳解
  • Laravel4中的Validator驗(yàn)證擴(kuò)展用法詳解
  • Laravel框架中Blade模板的用法示例
  • laravel學(xué)習(xí)筆記之模型事件的幾種用法示例
  • Laravel框架隊(duì)列原理與用法分析
  • Laravel中錯(cuò)誤與異常處理的用法示例
  • Laravel中10個(gè)有用的用法小結(jié)

標(biāo)簽:寧夏 吐魯番 遵義 遂寧 荊門(mén) 武威 常州 徐州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Laravel事件監(jiān)聽(tīng)器用法實(shí)例分析》,本文關(guān)鍵詞  Laravel,事件,監(jiān)聽(tīng)器,用法,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Laravel事件監(jiān)聽(tīng)器用法實(shí)例分析》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于Laravel事件監(jiān)聽(tīng)器用法實(shí)例分析的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 德兴市| 木兰县| 加查县| 定陶县| 临沭县| 吉木萨尔县| 凤翔县| 宝兴县| 长顺县| 股票| 石泉县| 嫩江县| 界首市| 德惠市| 阳原县| 乌海市| 仙游县| 深州市| 磴口县| 福鼎市| 浦北县| 正定县| 法库县| 石城县| 元氏县| 新河县| 墨竹工卡县| 阳东县| 夏津县| 阿尔山市| 关岭| 周至县| 金湖县| 宁武县| 自治县| 淳安县| 陕西省| 体育| 麟游县| 水城县| 鹰潭市|