Yii - Propriétés

Les variables de membre de classe en PHP sont également appelées properties. Ils représentent l'état de l'instance de classe. Yii introduit une classe appeléeyii\base\Object. Il prend en charge la définition des propriétés viagetter ou setter méthodes de classe.

Une méthode getter commence par le mot get. Une méthode de setter commence parset. Vous pouvez utiliser des propriétés définies par des getters et des setters comme des variables de membre de classe.

Lorsqu'une propriété est en cours de lecture, la méthode getter est appelée. Lorsqu'une propriété est assignée, la méthode setter sera appelée. Une propriété définie par un getter estread only si un setter n'est pas défini.

Step 1 - Créez un fichier appelé Taxi.php dans le dossier des composants.

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

Dans le code ci-dessus, nous définissons la classe Taxi dérivée de la classe Object. Nous définissons un getter -getPhone() et un setter - setPhone().

Step 2 - Now, ajoutez un actionProperties méthode à la 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);
}

Dans la fonction ci-dessus, nous avons créé un objet Taxi, essayé d'accéder au phone property via le getter, et définissez le phone propriété via le setter.

Step 3 - Dans votre navigateur Web, saisissez http://localhost:8080/index.php?r=site/properties, dans la barre d'adresse, vous devriez voir la sortie suivante.