Yii-properties

提供:Dev Guides
移動先:案内検索

Yii-プロパティ

PHPのクラスメンバー変数は、 properties とも呼ばれます。 これらはクラスインスタンスの状態を表します。 Yiiは yii \ base \ Object というクラスを導入します。 getter または setter クラスメソッドによるプロパティの定義をサポートします。

getterメソッドは、 get という単語で始まります。 セッターメソッドは set で始まります。 クラスメンバー変数のようなゲッターとセッターによって定義されたプロパティを使用できます。

プロパティが読み取られると、getterメソッドが呼び出されます。 プロパティが割り当てられると、setterメソッドが呼び出されます。 セッターが定義されていない場合、ゲッターによって定義されたプロパティは*読み取り専用*です。

ステップ1 *-componentsフォルダー内に *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);
      }
   }
?>

上記のコードでは、Objectクラスから派生したTaxiクラスを定義しています。 ゲッター-* 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);
}

上記の関数では、Taxiオブジェクトを作成し、ゲッター経由で phone プロパティにアクセスし、セッター経由で phone プロパティを設定しようとしました。

ステップ3 *-Webブラウザで、アドレスバーに *http://localhost:8080/index.php?r = site/properties と入力すると、次の出力が表示されます。

出力プロパティ