前回のオーバーロードに続き、phpのオーバーロードとメソッドのオーバーロードについて学びましょう。オーバーロードの定義がある場合は、phpのオーバーロード(1)を参照してください。初心者です。よろしくお願いします。スプレー:
基本的に2つの方法
__call、アクセスできないオブジェクトのメソッドを呼び出すと、この魔法のメソッドが自動的に実行されます。 (オブジェクト呼び出し)
代表的な 2 つの処理方法:
1. フレンドリーなヒントを提供します。
2. デフォルトの操作を実行します。
__callstatic、アクセスできない静的メソッドが呼び出されると、この魔法のメソッドが自動的に実行されます。
詳細コード:
クラスの生徒{
パブリック $name = 'php';
パブリック $age = 10;
パブリック関数sayName() {
$this->name を返す;
}
/**
* @param $method_name 文字列メソッド名
* @param $method_arguments array 呼び出し時に渡されるパラメーター
*/
パブリック関数 __call($method_name, $method_arguments) {
echo '
申し訳ありませんが、呼び出したメソッドは存在しません。(***) メソッドを呼び出す必要があります。 ';
$this->defaultAction();//ジャンプとリダイレクトに使用できるデフォルトのメソッドを実行します
}
パブリック関数defaultAction() {
echo '
これがデフォルトのアクションです! ';
}
パブリック静的関数 __callStatic($m_name, $m_args) {
echo 'これは静的メソッドのオーバーロードです! ';
}
}
学生::sayCounter();
上記は勉強する際の参考となる例であり、以下に分かれています... ご質問があれば、ご相談ください