オーバーロードメソッドが起動するのは、
宣言されていないプロパティやメソッドを操作しようとしたときです。
また、現在のスコープからはアクセス不能なプロパティやメソッドを
操作しようとしたときにも起動します。
以下にその例を示します。
サンプルコード 実行結果
set a to 1 get a 1 Is a set? bool(true) Unset a Is a set? bool(false) get _p Notice: Undefined property via __get(): _p in C:\xampp\htdocs\test.php on line 51 in C:\xampp\htdocs\test.php on line 27と、このように動的にメンバ変数を作成したり、取得・削除も行うことができました。
また、外部からアクセス不可能なメンバ変数にアクセスした時も
オーバーロードメソッドが実行されました。
いざ私の場合に置き換えてみますと有効な使い道は思いつかないのですが、
知っておいて損することはないので覚えておきたいです。
0 件のコメント:
コメントを投稿