Переменные-члены класса в PHP также называются свойствами . Они представляют состояние экземпляра класса. Yii представляет класс с именем yii \ base \ Object . Он поддерживает определение свойств с помощью методов класса getter или setter .
Метод получения начинается со слова get . Метод установки начинается с set . Вы можете использовать свойства, определенные геттерами и сеттерами, как переменные членов класса.
Когда свойство читается, вызывается метод 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);
}
}
?>
В приведенном выше коде мы определяем класс Taxi, производный от класса Object. Устанавливаем геттер — getPhone () и сеттер — 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);
}
В вышеупомянутой функции мы создали объект Такси, попытались получить доступ к свойству телефона через геттер и установили свойство телефона через установщик.
Шаг 3 — В вашем веб-браузере введите http: // localhost: 8080 / index.php? R = site / properties , в адресной строке вы должны увидеть следующий вывод.