Yii属性


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

getter方法以单词 get 开头。setter方法以 set 开头。您可以使用getter和setter定义的属性,如类成员变量。

当读取属性时,getter方法将被调用。当一个属性被分配时,setter方法将被调用。 只有 在未定义setter时 才会读取 由getter定义的属性。

第1步 - 在组件文件夹内创建一个名为 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步 - 现在 ,添加一个 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 = '79005448877';
   var_dump($object);
}

在上面的函数中,我们创建了一个Taxi对象,试图通过getter 访问 phone 属性,并通过setter 设置 phone 属性。

第3步 - 在您的Web浏览器中, 在地址栏中输入 http:// localhost:8080 / index.php?r = site / properties ,您应该看到以下输出。

属性输出