亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

詳解在PHP的Yii框架中使用行為Behaviors的方法

 更新時(shí)間:2016年03月18日 14:49:10   投稿:goldensun  
這篇文章主要介紹了在PHP的Yii框架中使用行為Behaviors的方法,包括行為的綁定與解除等操作講解,需要的朋友可以參考下

一個(gè)綁定了行為的類(lèi),表現(xiàn)起來(lái)是這樣的:

// Step 1: 定義一個(gè)將綁定行為的類(lèi)
class MyClass extends yii\base\Component
{
  // 空的
}

// Step 2: 定義一個(gè)行為類(lèi),他將綁定到MyClass上
class MyBehavior extends yii\base\Behavior
{
  // 行為的一個(gè)屬性
  public $property1 = 'This is property in MyBehavior.';

  // 行為的一個(gè)方法
  public function method1()
  {
    return 'Method in MyBehavior is called.';
  }
}

$myClass = new MyClass();
$myBehavior = new MyBehavior();

// Step 3: 將行為綁定到類(lèi)上
$myClass->attachBehavior('myBehavior', $myBehavior);

// Step 4: 訪問(wèn)行為中的屬性和方法,就和訪問(wèn)類(lèi)自身的屬性和方法一樣
echo $myClass->property1;
echo $myClass->method1();

上面的代碼你不用全都看懂,雖然你可能已經(jīng)用腳趾頭猜到了這些代碼的意思, 但這里你只需要記住行為中的屬性和方法可以被所綁定的類(lèi)像訪問(wèn)自身的屬性和方法一樣直接訪問(wèn)就OK了。 代碼中, $myClass 是沒(méi)有 property1 method() 成員的。這倆是 $myBehavior 的成員。 但是,通過(guò) attachBehavior() 將行為綁定到對(duì)象之后, $myCalss 就好像練成了吸星大法、化功大法,表現(xiàn)的財(cái)大氣粗,將別人的屬性和方法都變成了自己的。

另外,從上面的代碼中,你還要掌握使用行為的大致流程:

  • 從 yii\base\Component 派生自己的類(lèi),以便使用行為;
  • 從 yii\base\Behavior 派生自己的行為類(lèi),里面定義行為涉及到的屬性、方法;
  • 將Component和Behavior綁定起來(lái);
  • 像使用Component自身的屬性和方法一樣,盡情使用行為中定義的屬性和方法。

使用行為,必須像前文描述的一樣先把它附加到 yii\base\Component 類(lèi)或其子類(lèi)。一旦行為附加到組件,就可以直接使用它。

行為附加到組件后,可以通過(guò)組件訪問(wèn)一個(gè)行為的公共成員變量或 getter 和 setter 方法定義的屬性:

// "prop1" 是定義在行為類(lèi)的屬性
echo $component->prop1;
$component->prop1 = $value;
類(lèi)似地也可以調(diào)用行為的公共方法:

// foo() 是定義在行為類(lèi)的公共方法
$component->foo();

如你所見(jiàn),盡管 $component 未定義 prop1 和 foo() ,它們用起來(lái)也像組件自己定義的一樣。

如果兩個(gè)行為都定義了一樣的屬性或方法,并且它們都附加到同一個(gè)組件,那么首先附加上的行為在屬性或方法被訪問(wèn)時(shí)有優(yōu)先權(quán)。

附加行為到組件時(shí)的命名行為,可以使用這個(gè)名稱來(lái)訪問(wèn)行為對(duì)象,如下所示:

$behavior = $component->getBehavior('myBehavior');

也能獲取附加到這個(gè)組件的所有行為:

$behaviors = $component->getBehaviors();

移除行為

要移除行為,可以調(diào)用 yii\base\Component::detachBehavior() 方法用行為相關(guān)聯(lián)的名字實(shí)現(xiàn):

$component->detachBehavior('myBehavior1');

也可以移除全部行為:

$component->detachBehaviors();

相關(guān)文章

  • PHP include_path設(shè)置技巧分享

    PHP include_path設(shè)置技巧分享

    當(dāng)時(shí)候函數(shù)include(),require(),fopen_with_path()函數(shù)來(lái)尋找文件時(shí)候.在不設(shè)置include_path的情況下,這些函數(shù)打開(kāi)文件時(shí)候默認(rèn)的是以web根目錄去尋找.當(dāng)設(shè)置include_path以后,這些php函數(shù)就會(huì)先在指定的include_path目錄下面去搜索尋找
    2011-07-07
  • php商品對(duì)比功能代碼分享

    php商品對(duì)比功能代碼分享

    前段時(shí)間,朋友叫我?guī)退麑?xiě)個(gè)商品對(duì)比功能,當(dāng)時(shí)正好在逛綠森數(shù)碼商城,點(diǎn)開(kāi)商品列表,看到有商品對(duì)比功能,然后直接下載了他的JS滾動(dòng)文件和抽出了對(duì)比框的樣式,然后自己完善了下。
    2015-09-09
  • php數(shù)組的概述及分類(lèi)與聲明代碼演示

    php數(shù)組的概述及分類(lèi)與聲明代碼演示

    本文將詳細(xì)介紹下php數(shù)組的概述/數(shù)組的分類(lèi)及數(shù)組多種聲明方式,代碼很規(guī)范,適合初學(xué)者學(xué)習(xí),感興趣的你可不要錯(cuò)過(guò)了哈,希望本例知識(shí)點(diǎn)可以幫助到你
    2013-02-02
  • 深入解讀php中關(guān)于抽象(abstract)類(lèi)和抽象方法的問(wèn)題分析

    深入解讀php中關(guān)于抽象(abstract)類(lèi)和抽象方法的問(wèn)題分析

    這篇文章主要介紹了php中關(guān)于抽象(abstract)類(lèi)和抽象方法的問(wèn)題分析,有需要的朋友可以參考一下
    2014-01-01
  • PHP獲取網(wǎng)絡(luò)圖片信息的方法步驟詳解

    PHP獲取網(wǎng)絡(luò)圖片信息的方法步驟詳解

    在開(kāi)發(fā)Web應(yīng)用程序中,我們經(jīng)常需要從網(wǎng)絡(luò)上獲取圖片并對(duì)其進(jìn)行處理,有時(shí)候,我們可能需要知道圖片的長(zhǎng)寬和類(lèi)型信息,以便進(jìn)行進(jìn)一步的操作或展示給用戶,所以本文就大家介紹PHP獲取網(wǎng)絡(luò)上圖片信息的方法步驟,感興趣的同學(xué)跟著小編一起來(lái)看看吧
    2023-08-08
  • PHP下SSL加密解密、驗(yàn)證、簽名方法(很簡(jiǎn)單)

    PHP下SSL加密解密、驗(yàn)證、簽名方法(很簡(jiǎn)單)

    這篇文章主要介紹了PHP下SSL加密解密、驗(yàn)證、簽名方法,方法很簡(jiǎn)單,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2015-12-12
  • PHP Socket 編程

    PHP Socket 編程

    讓我們以一個(gè)簡(jiǎn)單的例子開(kāi)始---一個(gè)接收輸入字符串,處理并返回這個(gè)字符串到客戶端的TCP服務(wù).
    2010-04-04
  • 攻克CakePHP系列二 表單數(shù)據(jù)顯示

    攻克CakePHP系列二 表單數(shù)據(jù)顯示

    CakePHP表單數(shù)據(jù)顯示的方法步驟
    2008-10-10
  • php實(shí)現(xiàn)的簡(jiǎn)單檢驗(yàn)登陸類(lèi)

    php實(shí)現(xiàn)的簡(jiǎn)單檢驗(yàn)登陸類(lèi)

    這篇文章主要介紹了php實(shí)現(xiàn)的簡(jiǎn)單檢驗(yàn)登陸類(lèi),可實(shí)現(xiàn)基本的php數(shù)據(jù)庫(kù)查詢及密碼匹配的功能,需要的朋友可以參考下
    2015-06-06
  • php開(kāi)發(fā)工具有哪五款

    php開(kāi)發(fā)工具有哪五款

    這篇文章主要為大家介紹了5款php開(kāi)發(fā)工具,為了更好的研究PHP開(kāi)發(fā),所以搜羅了一下,整理了以下五款開(kāi)發(fā)工具和大家共享。
    2015-11-11

最新評(píng)論