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 と入力すると、次の出力が表示されます。