简述
PHP 中的类成员变量也称为属性。它们代表类实例的状态。Yii 引入了一个名为yii\base\Object的类。它支持通过getter或setter类方法定义属性。
getter 方法以单词get开头。setter 方法以set开头。您可以使用由 getter 和 setter 定义的属性,例如类成员变量。
读取属性时,将调用 getter 方法。分配属性时,将调用 setter 方法。由 getter 定义的属性仅在未定义 setter时才被读取。
Step 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 步- 在您的网络浏览器中,输入http://localhost:8080/index.php?r=site/properties,在地址栏中,您应该会看到以下输出。