《PHP學習:詳解在PHP的Yii框架中使用行為Behaviors的方法》要點:
本文介紹了PHP學習:詳解在PHP的Yii框架中使用行為Behaviors的方法,希望對您有用。如果有疑問,可以聯系我們。
相關主題:YII框架
PHP教程一個綁定了行為的類,表現起來是這樣的:
PHP教程
// Step 1: 定義一個將綁定行為的類
class MyClass extends yii\base\Component
{
// 空的
}
// Step 2: 定義一個行為類,他將綁定到MyClass上
class MyBehavior extends yii\base\Behavior
{
// 行為的一個屬性
public $property1 = 'This is property in MyBehavior.';
// 行為的一個方法
public function method1()
{
return 'Method in MyBehavior is called.';
}
}
$myClass = new MyClass();
$myBehavior = new MyBehavior();
// Step 3: 將行為綁定到類上
$myClass->attachBehavior('myBehavior', $myBehavior);
// Step 4: 訪問行為中的屬性和方法,就和訪問類自身的屬性和方法一樣
echo $myClass->property1;
echo $myClass->method1();
PHP教程上面的代碼你不用全都看懂,雖然你可能已經用腳趾頭猜到了這些代碼的意思, 但這里你只需要記住行為中的屬性和方法可以被所綁定的類像訪問自身的屬性和方法一樣直接訪問就OK了. 代碼中, $myClass 是沒有 property1 method() 成員的.這倆是 $myBehavior 的成員. 但是,通過 attachBehavior() 將行為綁定到對象之后, $myCalss 就好像練成了吸星大法、化功大法,表現的財大氣粗,將別人的屬性和方法都變成了自己的.
PHP教程另外,從上面的代碼中,你還要掌握使用行為的大致流程:
PHP教程使用行為,必須像前文描述的一樣先把它附加到 yii\base\Component 類或其子類.一旦行為附加到組件,就可以直接使用它.
PHP教程行為附加到組件后,可以通過組件訪問一個行為的公共成員變量或 getter 和 setter 方法定義的屬性:
PHP教程
// "prop1" 是定義在行為類的屬性
echo $component->prop1;
$component->prop1 = $value;
類似地也可以調用行為的公共方法:
// foo() 是定義在行為類的公共方法
$component->foo();
PHP教程如你所見,盡管 $component 未定義 prop1 和 foo() ,它們用起來也像組件自己定義的一樣.
PHP教程如果兩個行為都定義了一樣的屬性或方法,并且它們都附加到同一個組件,那么首先附加上的行為在屬性或方法被訪問時有優先權.
PHP教程附加行為到組件時的命名行為,可以使用這個名稱來訪問行為對象,如下所示:
PHP教程
$behavior = $component->getBehavior('myBehavior');
PHP教程也能獲取附加到這個組件的所有行為:
PHP教程
$behaviors = $component->getBehaviors();
PHP教程移除行為
PHP教程要移除行為,可以調用 yii\base\Component::detachBehavior() 方法用行為相關聯的名字實現:
PHP教程
$component->detachBehavior('myBehavior1');
PHP教程也可以移除全部行為:
PHP教程
$component->detachBehaviors();
《PHP學習:詳解在PHP的Yii框架中使用行為Behaviors的方法》是否對您有啟發,歡迎查看更多與《PHP學習:詳解在PHP的Yii框架中使用行為Behaviors的方法》相關教程,學精學透。維易PHP學院為您提供精彩教程。
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/7304.html