Yii属性

在PHP中一个类的成员变量也被称为属性。它们代表了类实例的状态。Yii中引入了一个 yii\base\Object 类。它支持通过类的 getter 或 setter 方法定义属性。

getter方法以get开始。 setter方法以set开始。可以使用类的 getter 和 setter 方法定义成员属性变量。

当读取一个属性,getter方法将会被调用。 当要分配属性,setter方法将被调用。如果没有定义 setter 而只通过 getter 定义的属性为只读。

第1步 - 创建一个 Taxi.php 文件在组件(components)文件夹内。
<?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类的派生类定义 derived 。然后建立一个 getter - getPhone()方法和一个 setter - setPhone()方法 。
第2步 - 现在,添加 actionProperties() 方法到 SiteController。
public function actionProperties() {
   $object = new Taxi();
   // equivalent to $phone = $object->getPhone();
   $phone = $object->phone;
   var_dump($phone);
   // equivalent to $object->setLabel('abc');
   $object->phone = '13800138000';
   var_dump($object);
}
在上述功能我们创建了一个 Taxi 对象,试图通过 getter 方法访问 phone 属性,和 setter 方法设置 phone 属性。
第3步 - 在Web浏览器中输入并访问:http://localhost:8080/index.php?r=site/properties ,会看到如下的输出:
Yii属性

上一篇: Yii数据排序 下一篇: Yii数据提供者