Yii - Propriedades
Variáveis de membro de classe em PHP também são chamadas properties. Eles representam o estado da instância da classe. Yii apresenta uma classe chamadayii\base\Object. Ele suporta a definição de propriedades por meio degetter ou setter métodos de classe.
Um método getter começa com a palavra get. Um método setter começa comset. Você pode usar propriedades definidas por getters e setters como variáveis de membro de classe.
Quando uma propriedade está sendo lida, o método getter é chamado. Quando uma propriedade está sendo atribuída, o método setter é chamado. Uma propriedade definida por um getter éread only se um setter não for definido.
Step 1 - Crie um arquivo chamado Taxi.php dentro da pasta de componentes.
<?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);
}
}
?>
No código acima, definimos a classe Taxi derivada da classe Object. Estabelecemos um getter -getPhone() e um setter - setPhone().
Step 2 - Now, adicione um actionProperties método para o 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);
}
Na função acima criamos um objeto Taxi, tentamos acessar o phone propriedade através do getter e defina o phone propriedade através do setter.
Step 3 - Em seu navegador da web, digite http://localhost:8080/index.php?r=site/properties, na barra de endereço, você verá a seguinte saída.