私は次のスクリプトを試していますが、新しい値を処理していないようですbt __set
私はthisの記事を読もうとしています。 。何か不足していますか?ここセッターは新しいゲッター値を取得しません
class MyClass{
public $name = "Mike";
private function __setProperty($newval){
$this->name = $newval;
}
public function __getProperty(){
return $this->name;
}
}
$obj = new MyClass;
//var_dump($obj);
echo $obj->name;
$obj->getProperty("Angela");
echo $obj->getProperty();
は、明記しました ' setProperty' ... '$ obj = new MyClass; echo $ obj-> getProperty(); //プロパティ値を取得する $ obj-> setProperty( "私は新しいプロパティ値です!"); //新しいものを設定する echo $ obj-> getProperty(); //変更を表示するためにもう一度それを読んでください。代わりに 'getProperty'を使用しています。あなたはそのチュートリアルに従わなかった* "Tに" *。 –
'__'で始まるメソッド名の宣言を禁止します。彼らは通常、PHPマジックメソッドのために保存されています。ここで使用している使用法は、 '__set'や' __get'とはまったく関係ありません。 – SOFe
メソッドに '__'を使用すると奇妙です(そして間違っています、接頭辞付きのメソッドは魔法になりがちです)。セッターは決して呼び出されません(プライベート宣言されます)。実際にプロパティを実際に設定しているのは決してありません... –