Yii - Proprietà

Vengono chiamate anche variabili membro di classe in PHP properties. Rappresentano lo stato dell'istanza di classe. Yii introduce una classe chiamatayii\base\Object. Supporta la definizione delle proprietà tramitegetter o setter metodi di classe.

Un metodo getter inizia con la parola get. Un metodo setter inizia conset. È possibile utilizzare proprietà definite da getter e setter come le variabili dei membri della classe.

Quando una proprietà viene letta, verrà chiamato il metodo getter. Quando viene assegnata una proprietà, verrà chiamato il metodo setter. Una proprietà definita da un getter èread only se un setter non è definito.

Step 1 - Crea un file chiamato Taxi.php all'interno della cartella dei componenti.

<?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);
      }
   }
?>

Nel codice precedente, definiamo la classe Taxi derivata dalla classe Object. Abbiamo impostato un getter -getPhone() e un setter - setPhone().

Step 2 - Now, aggiungi un file actionProperties metodo al 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);
}

Nella funzione sopra abbiamo creato un oggetto Taxi, abbiamo provato ad accedere al file phone proprietà tramite il getter e impostare il phone proprietà tramite il setter.

Step 3 - Nel tuo browser web, digita http://localhost:8080/index.php?r=site/properties, nella barra degli indirizzi, dovresti vedere il seguente output.