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://127.0.0.1:8080/index.php?r=site/properties,您应该会看到以下输出。

Properties Output
广告