中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

yii事件和行為有什么區(qū)別

這篇文章主要介紹yii事件和行為有什么區(qū)別,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

成都創(chuàng)新互聯(lián)公司是一家專注于網(wǎng)站設計、網(wǎng)站制作與策劃設計,噶爾網(wǎng)站建設哪家好?成都創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設十余年,網(wǎng)設計領域的專業(yè)建站公司;建站業(yè)務涵蓋:噶爾等地區(qū)。噶爾做網(wǎng)站價格咨詢:18980820575

個人覺得,在 Yii 里面,最難以明白的就是事件(Event)和行為(behavior)了。這不僅僅是因為它們的概念比較難明,關鍵是它們的應用場景比較難明,不知道什么時候應該使用事件和行為來開發(fā)。

事件

事件模型就是設計模式中的“觀察者模式”:當對象的狀態(tài)發(fā)生了變化,那么這個對象可以將該事件通知其它對象。

為了使用事件模型,需要實現(xiàn)這三個步驟:                

1、定義事件;2、注冊事件句柄;3、觸發(fā)事件。

為什么要做這三個步驟呢?因為對于 PHP 本身,它的執(zhí)行過程不是以進程化來運行的,

所以 Yii 的事件觸發(fā)機制不會像 ActionScript 3+ 那樣,直接將觸發(fā)事件。

有人說,Yii 的事件概念跟 js 中的事件概念差不多,因為 Yii 是將事件綁定到 Yii::app() 的執(zhí)行過程中。

行為

這里先重新描述一下為什么要使用行為。

有兩種辦法可以對類添加特性:

1、直接修改這個類的代碼,添加一些成員函數(shù)和成員變量;

2、派生,通過子類來擴展。

很明顯第二種方法更加易維護、易擴展。但是如果需要對一個類添加多個特性(多人在不同時期),那么需要進行多級派生,這顯然加大了維護成本。

在 Yii 里面,通過行為類綁定,組件將一個或多個 CBehavior 類的成員方法和成員變量添加到自己身上,并且在不需要的時候載掉某些 CBehavior 類。

同時,可以通過重寫 CBehavior::events 的方法,來實現(xiàn)對目標類的多個事件綁定。這些事件將會在當前行為綁定到目標類的時候,一起被綁定上。

Yii2事件與行為總結(jié)

1)、事件用于在特定的時點,觸發(fā)執(zhí)行預先設定的一段代碼,需要使用到事件的類,都繼承自 yii\base\Component。

2)、行為用于對類的補充,通過將行為綁定到一個類,可以使類具有行為本身所定義的屬性和方法,就好像類本來就有這些屬性和方法一樣。

而且不需要寫一個新的類去繼承或包含現(xiàn)有類。

以上是“yii事件和行為有什么區(qū)別”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

分享標題:yii事件和行為有什么區(qū)別
網(wǎng)頁網(wǎng)址:http://www.rwnh.cn/article30/jscopo.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供移動網(wǎng)站建設、面包屑導航品牌網(wǎng)站制作、網(wǎng)站營銷電子商務、網(wǎng)頁設計公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設公司
中阳县| 丁青县| 台东市| 龙井市| 个旧市| 长宁区| 东至县| 垣曲县| 平舆县| 建昌县| 彭水| 黄浦区| 勐海县| 抚远县| 多伦县| 乐东| 航空| 泰安市| 蚌埠市| 广元市| 同江市| 修水县| 新津县| 合肥市| 普定县| 宾阳县| 安多县| 沙田区| 泗水县| 黄骅市| 沙雅县| 温州市| 宁晋县| 隆安县| 景宁| 乌拉特后旗| 江阴市| 烟台市| 兴海县| 南投市| 郓城县|