国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目錄
在本節(jié)中,我們將探索Laravel在核心框架中實(shí)現(xiàn)事件和聽(tīng)眾的方式。如果您熟悉Laravel的體系結(jié)構(gòu),您可能知道Laravel實(shí)現(xiàn)了服務(wù)提供商的概念,該概念使您可以將不同的服務(wù)注入應(yīng)用程序。
什麼是事件訂閱者?
首頁(yè) 後端開(kāi)發(fā) php教程 Laravel的定制活動(dòng)

Laravel的定制活動(dòng)

Mar 04, 2025 am 09:07 AM

Custom Events in Laravel

在本文中,我們將探討Laravel事件管理的基礎(chǔ)知識(shí)。我們還將創(chuàng)建一個(gè)自定義事件和偵聽(tīng)器的現(xiàn)實(shí)世界示例。

> Laravel中事件的概念基於非常流行的軟件設(shè)計(jì)模式 - 觀察者模式。在這種模式下,系統(tǒng)會(huì)在發(fā)生某些事情時(shí)提出事件,您可以定義聽(tīng)取這些事件並做出相應(yīng)反應(yīng)的聽(tīng)眾。這是一個(gè)非常有用的功能,使您可以將組件在系統(tǒng)中解除否則會(huì)導(dǎo)致緊密耦合代碼的組件。因此,它使他們能夠?qū)Υ说卿浭录龀龇磻?yīng),無(wú)論是要發(fā)送電子郵件還是應(yīng)用程序內(nèi)通知,還是想對(duì)此登錄事件做出反應(yīng)的任何事物。

>

事件的基礎(chǔ)知識(shí)和聽(tīng)眾

在本節(jié)中,我們將探索Laravel在核心框架中實(shí)現(xiàn)事件和聽(tīng)眾的方式。如果您熟悉Laravel的體系結(jié)構(gòu),您可能知道Laravel實(shí)現(xiàn)了服務(wù)提供商的概念,該概念使您可以將不同的服務(wù)注入應(yīng)用程序。

>

>同樣,Laravel提供了一個(gè)內(nèi)置的eventserviceProvider.php

類(lèi),使我們能夠?yàn)閼?yīng)用程序定義了everter mappings for Application for Application。 > app/provist/experterviceProvider.phpfile。

>讓我們仔細(xì)查看登錄
<?php<br><br>namespace App\Providers;<br><br>use Illuminate\Auth\Events\Registered;<br>use Illuminate\Auth\Listeners\SendEmailVerificationNotification;<br>use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider;<br>use Illuminate\Support\Facades\Event;<br><br>class EventServiceProvider extends ServiceProvider<br>{<br>    /**<br>     * The event listener mappings for the application.<br>     *<br>     * @var array<br>     */<br>    protected $listen = [<br>        Registered::class => [<br>            SendEmailVerificationNotification::class,<br>        ],<br>    ];<br><br>    /**<br>     * Register any events for your application.<br>     *<br>     * @return void<br>     */<br>    public function boot()<br>    {<br>        parent::boot();<br><br>        //<br>    }<br>}<br>
> event。

當(dāng)然,您需要定義Artisan >> >

php artisan event:generate<br>

php artisan event:generate<br>

<?php<br><br>namespace App\Events;<br><br>use Illuminate\Broadcasting\Channel;<br>use Illuminate\Broadcasting\InteractsWithSockets;<br>use Illuminate\Broadcasting\PresenceChannel;<br>use Illuminate\Broadcasting\PrivateChannel;<br>use Illuminate\Contracts\Broadcasting\ShouldBroadcast;<br>use Illuminate\Foundation\Events\Dispatchable;<br>use Illuminate\Queue\SerializesModels;<br><br>class ClearCache<br>{<br>    use Dispatchable, InteractsWithSockets, SerializesModels;<br><br>    public $cache_keys = [];<br><br>    /**<br>     * Create a new event instance.<br>     *<br>     * @return void<br>     */<br>    public function __construct(Array $cache_keys)<br>    {<br>        $this->cache_keys = $cache_keys;<br>    }<br><br>    /**<br>     * Get the channels the event should broadcast on.<br>     *<br>     * @return \Illuminate\Broadcasting\Channel|array<br>     */<br>    public function broadcastOn()<br>    {<br>        return new PrivateChannel('channel-name');<br>    }<br>}<br>

>應(yīng)該已經(jīng)在app/event/events/clearcache.php

上創(chuàng)建事件類(lèi)別,以及

app/listerers/thampcache.phpAppListenersWarmUpCache。這是:AppEventsClearCache handleAppListenersWarmUpCache

正如您可能注意到的那樣,我們添加了一個(gè)新的屬性事件

助手函數(shù),用於從應(yīng)用程序中的任何地方提出事件。當(dāng)事件提出時(shí),Laravel調(diào)用所有聽(tīng)眾聽(tīng)那個(gè)特定事件的聽(tīng)眾。因此, handle

applistenerswarmupcache>從控制器提出事件時(shí),請(qǐng)調(diào)用<code> applistenerswarmupcache 偵聽(tīng)器。剩下的是要熱身緩存已清除的緩存! >,這就是您可以在應(yīng)用程序中創(chuàng)建自定義事件並與之合作的方式。 ><h2 id="什麼是事件訂閱者">什麼是事件訂閱者? </h2> <p>>事件訂閱者允許您在一個(gè)地方訂閱多個(gè)事件聽(tīng)眾。無(wú)論您是要邏輯上的事件聽(tīng)眾還是要在一個(gè)地方包含成長(zhǎng)的事件,都是您要尋找的事件訂閱者。 </p>方法的第一個(gè)參數(shù)是<p>類(lèi)的實(shí)例,您可以使用</p>>方法來(lái)與聽(tīng)眾綁定事件。 <pre class="brush:php;toolbar:false">&lt;?php&lt;br&gt;&lt;br&gt;namespace App\Providers;&lt;br&gt;&lt;br&gt;use Illuminate\Auth\Events\Registered;&lt;br&gt;use Illuminate\Auth\Listeners\SendEmailVerificationNotification;&lt;br&gt;use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider;&lt;br&gt;use Illuminate\Support\Facades\Event;&lt;br&gt;&lt;br&gt;class EventServiceProvider extends ServiceProvider&lt;br&gt;{&lt;br&gt; /**&lt;br&gt; * The event listener mappings for the application.&lt;br&gt; *&lt;br&gt; * @var array&lt;br&gt; */&lt;br&gt; protected $listen = [&lt;br&gt; Registered::class =&gt; [&lt;br&gt; SendEmailVerificationNotification::class,&lt;br&gt; ],&lt;br&gt; ];&lt;br&gt;&lt;br&gt; /**&lt;br&gt; * Register any events for your application.&lt;br&gt; *&lt;br&gt; * @return void&lt;br&gt; */&lt;br&gt; public function boot()&lt;br&gt; {&lt;br&gt; parent::boot();&lt;br&gt;&lt;br&gt; //&lt;br&gt; }&lt;br&gt;}&lt;br&gt;</pre>><p>><code>subscribesubscribeIlluminateEventsDispatcher>>方法的第一個(gè)參數(shù)是您想要收聽(tīng)的事件,第二個(gè)參數(shù)是一個(gè)偵聽(tīng)器,當(dāng)事件被啟動(dòng)時(shí),可以召集cmirer。本身。 listen

不會(huì)自動(dòng)拾取事件訂戶類(lèi)。您需要在

屬性下的“ listen

”類(lèi)中註冊(cè)它,如以下片段所示。

>$subscribe>

>>>>>>>>>>>>>>>>>>>> >
php artisan event:generate<br>

以上是Laravel的定制活動(dòng)的詳細(xì)內(nèi)容。更多資訊請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願(yuàn)投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請(qǐng)聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強(qiáng)大的PHP整合開(kāi)發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺(jué)化網(wǎng)頁(yè)開(kāi)發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)程式碼編輯軟體(SublimeText3)

熱門(mén)話題

對(duì)基於PHP的API進(jìn)行版本控制的最佳實(shí)踐是什麼? 對(duì)基於PHP的API進(jìn)行版本控制的最佳實(shí)踐是什麼? Jun 14, 2025 am 12:27 AM

基於toversionaphp,useUrl deuseUrl specteringforclarityAndEsofRouting,單獨(dú)的codetoavoidConflicts,dremecateOldVersionswithClearCommunication,andConsiderCustomHeadeSerlySerallyWhennEnncelsy.startbyplacingtheversionIntheUrl(E.G.,epi/api/v

如何在PHP中實(shí)施身份驗(yàn)證和授權(quán)? 如何在PHP中實(shí)施身份驗(yàn)證和授權(quán)? Jun 20, 2025 am 01:03 AM

tosecurelyhandleauthenticationandationallizationInphp,lofterTheSesteps:1.AlwaysHashPasswordSwithPassword_hash()andverifyusingspasspassword_verify(),usepreparedStatatementStopreventsqlineptions,andStoreSeruserDatain usseruserDatain $ _sessiveferterlogin.2.implementrole-2.imaccessccsccccccccccccccccccccccccc.

PHP中的程序和麵向?qū)ο蟮木幊坦?fàn)例之間有什麼區(qū)別? PHP中的程序和麵向?qū)ο蟮木幊坦?fàn)例之間有什麼區(qū)別? Jun 14, 2025 am 12:25 AM

procemal and object-tiriendedprogromming(oop)inphpdiffersimplessintustructure,可重複使用性和datahandling.1.procedural-Progrogursmingusesfunctimesfunctionsormanized sequalized sequalized sequiential,poiperforsmallscripts.2.OpporganizesCodeOrganizescodeOdeIntsocloceSandObjects,ModelingReal-Worlden-Worlden

PHP中有哪些弱參考(弱圖),何時(shí)有用? PHP中有哪些弱參考(弱圖),何時(shí)有用? Jun 14, 2025 am 12:25 AM

PHPdoesnothaveabuilt-inWeakMapbutoffersWeakReferenceforsimilarfunctionality.1.WeakReferenceallowsholdingreferenceswithoutpreventinggarbagecollection.2.Itisusefulforcaching,eventlisteners,andmetadatawithoutaffectingobjectlifecycles.3.YoucansimulateaWe

如何在PHP中安全地處理文件上傳? 如何在PHP中安全地處理文件上傳? Jun 19, 2025 am 01:05 AM

要安全處理PHP中的文件上傳,核心在於驗(yàn)證文件類(lèi)型、重命名文件並限制權(quán)限。 1.使用finfo_file()檢查真實(shí)MIME類(lèi)型,僅允許特定類(lèi)型如image/jpeg;2.用uniqid()生成隨機(jī)文件名,存儲(chǔ)至非Web根目錄;3.通過(guò)php.ini和HTML表單限製文件大小,設(shè)置目錄權(quán)限為0755;4.使用ClamAV掃描惡意軟件,增強(qiáng)安全性。這些步驟有效防止安全漏洞,確保文件上傳過(guò)程安全可靠。

如何與PHP的NOSQL數(shù)據(jù)庫(kù)(例如MongoDB,Redis)進(jìn)行交互? 如何與PHP的NOSQL數(shù)據(jù)庫(kù)(例如MongoDB,Redis)進(jìn)行交互? Jun 19, 2025 am 01:07 AM

是的,PHP可以通過(guò)特定擴(kuò)展或庫(kù)與MongoDB和Redis等NoSQL數(shù)據(jù)庫(kù)交互。首先,使用MongoDBPHP驅(qū)動(dòng)(通過(guò)PECL或Composer安裝)創(chuàng)建客戶端實(shí)例並操作數(shù)據(jù)庫(kù)及集合,支持插入、查詢、聚合等操作;其次,使用Predis庫(kù)或phpredis擴(kuò)展連接Redis,執(zhí)行鍵值設(shè)置與獲取,推薦phpredis用於高性能場(chǎng)景,Predis則便於快速部署;兩者均適用於生產(chǎn)環(huán)境且文檔完善。

PHP中==(鬆散比較)和===(嚴(yán)格的比較)之間有什麼區(qū)別? PHP中==(鬆散比較)和===(嚴(yán)格的比較)之間有什麼區(qū)別? Jun 19, 2025 am 01:07 AM

在PHP中,==與===的主要區(qū)別在於類(lèi)型檢查的嚴(yán)格程度。 ==在比較前會(huì)進(jìn)行類(lèi)型轉(zhuǎn)換,例如5=="5"返回true,而===要求值和類(lèi)型都相同才會(huì)返回true,例如5==="5"返回false。使用場(chǎng)景上,===更安全應(yīng)優(yōu)先使用,==僅在需要類(lèi)型轉(zhuǎn)換時(shí)使用。

如何在PHP( - , *, /,%)中執(zhí)行算術(shù)操作? 如何在PHP( - , *, /,%)中執(zhí)行算術(shù)操作? Jun 19, 2025 pm 05:13 PM

PHP中使用基本數(shù)學(xué)運(yùn)算的方法如下:1.加法用 號(hào),支持整數(shù)和浮點(diǎn)數(shù),也可用於變量,字符串?dāng)?shù)字會(huì)自動(dòng)轉(zhuǎn)換但不推薦依賴(lài);2.減法用-號(hào),變量同理,類(lèi)型轉(zhuǎn)換同樣適用;3.乘法用*號(hào),適用於數(shù)字及類(lèi)似字符串;4.除法用/號(hào),需避免除以零,並註意結(jié)果可能是浮點(diǎn)數(shù);5.取模用%號(hào),可用於判斷奇偶數(shù),處理負(fù)數(shù)時(shí)餘數(shù)符號(hào)與被除數(shù)一致。正確使用這些運(yùn)算符的關(guān)鍵在於確保數(shù)據(jù)類(lèi)型清晰並處理好邊界情況。

See all articles