Yii - 属性
PHP 中的类成员变量也称为属性。它们表示类实例的状态。Yii 引入了一个名为yii\base\Object的类。它支持通过getter或setter类方法定义属性。
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 浏览器中,在地址栏中输入 http://localhost:8080/index.php?r=site/properties,您应该会看到以下输出。