重複の可能性:
PHP__getおよび__setマジックメソッド
OOPから始めます。。とにかく私がそれを正しく理解しているかどうかはわかりませんが$attribute
、関数のためにコードがの値を変更しないようにする必要があります__set()
か?
<?php
class aclass
{
protected $attribute; //edited from public to protected
public function __get ($name)
{
return $this->$name;
}
public function __set ($name, $value)
{
if($name == "foo")
{
$this->$name = $value;
}
}
}
$a = new aclass();
$a->attribute = "bar";
echo $a->attribute;
?>
これを実行すると、エラーメッセージが表示されます。
「致命的なエラー:保護されたプロパティaclass :: $attributeにアクセスできません。..16行目」16行目は「echo$a-> attribute」です-他の投稿では、属性をPROTECTEDに設定する必要がありますが、機能していません。PHP 5.4.3を使用しています-何かアイデアはありますか?