Переменные-члены класса в 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 , в адресной строке вы должны увидеть следующий вывод.