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.