Yii - 屬性



PHP 中的類成員變數也稱為屬性。它們表示類例項的狀態。Yii 引入了一個名為yii\base\Object的類。它支援透過gettersetter類方法定義屬性。

getter 方法以單詞get開頭。setter 方法以set開頭。您可以像使用類成員變數一樣使用 getter 和 setter 定義的屬性。

讀取屬性時,將呼叫 getter 方法。賦值屬性時,將呼叫 setter 方法。如果未定義 setter,則由 getter 定義的屬性為只讀

步驟 1 - 在 components 資料夾內建立一個名為Taxi.php的檔案。

<?php
   namespace app\components;
   use yii\base\Object;
   class Taxi extends Object {
      private $_phone;
      public function getPhone() {
         return $this->_phone;
      }
      public function setPhone($value) {
         $this->_phone = trim($value);
      }
   }
?>

在上面的程式碼中,我們定義了從 Object 類派生的 Taxi 類。我們設定了一個 getter – getPhone() 和一個 setter – setPhone()

步驟 2 - 現在,向SiteController新增一個actionProperties方法。

public function actionProperties() {
   $object = new Taxi();
   // equivalent to $phone = $object->getPhone();
   $phone = $object->phone;
   var_dump($phone);
   // equivalent to $object->setLabel('abc');
   $object->phone = '79005448877';
   var_dump($object);
}

在上面的函式中,我們建立了一個 Taxi 物件,嘗試透過 getter 訪問phone屬性,並透過 setter 設定phone屬性。

步驟 3 - 在您的 web 瀏覽器中,在位址列中鍵入https://:8080/index.php?r=site/properties,您應該會看到以下輸出。

Properties Output
廣告