ホームページ  >  記事  >  バックエンド開発  >  関連する質問がまた来ています、専門家

関連する質問がまた来ています、専門家

WBOY
WBOYオリジナル
2016-06-13 13:33:47801ブラウズ

問題は再びここにあります、専門家、
error_reporting(E_ALL | E_STRICT);

class mycls{

private $p=1;


/**リロードしたデータはここに保存されます*/
private $data = array();


function func()
{
echo "none static"; 🎜> }


/* public function __set($name,$value)
{
echo "'$name' を '$value'
n に設定します" ;
$this->$name = $value;
} */

public function __get($name)
{
echo "'$name' を取得しています < br> ;n";
return $this->$name;

}


}


$my=new mycls;

$my->a=10; //


echo $my->a;
?>


-- - ---解決策-------------------問題ありません

------解決策------------------$my->a=10 があります。
もちろん __get は呼び出されません

------解決策------------------次のように書けばすべて完了です
PHP コード

エラー報告(E_ALL | E_STRICT); クラスmycls{ プライベート $p=1; /**リロードしたデータはここに保存されます*/ プライベート $data = array(); 関数楽しい() { エコー「静的なし」; } パブリック関数 __set($name,$value) { echo "'$name' を '$value'
n に設定します"; $this->data[$name] = $value; } パブリック関数 __get($name) { echo "'$name'
n を取得しています"; $this->data[$name] を返します; } } $my=新しいmycls; $my->a=10; echo $my->a;

<br>------解決策---------<font color="#e78608"></font><br>エラー<strong>
</strong><br>------解決策---------<font color="#e78608"></font>$my=new mycls;<br><br>echo $my->a; // 直接出力が呼び出されます <br><br> echo ステートメントはありません。直接代入は __set<br><br> を呼び出しますが、コード内でログアウトされます
<br><br>------解決策---------<font color="#e78608"></font><br>
話し合う
Quote:
Quote:
このように書けばすべてが揃います

PHP コード
error_reporting(E_ALL | E_STRICT);

class mycls {
private $p=1;

/**リロードしたデータはここに保存されます*/
private $data = array();

function func()
{
echo "none sta....

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。