私はクラスLogger
を持っています。とりわけ、メソッドLog
を持っています。 Log
として
がLogger
インスタンスの最も一般的な用途である、私はLog
オブジェクトメンバーとしてPHP呼び出し可能オブジェクト
別のクラスを呼び出すために__invoke
を有線している、「サイト」メンバー「ログ」、ロガーのインスタンスが含まれています。
なぜこの仕事になります。
$Log = $this->Log;
$Log("Message");
ではなく、この:
$this->Log("Message");
前者はで失敗し、 "PHPの致命的なエラー:未定義のメソッドのサイトに呼び出し::ログ()"
ですこれは呼び出し可能なオブジェクトの実装の制限ですか、私は何かを誤解していますか?
ほとんどの場合、タイピングが緩いためです。実際に何をするのかを実際に推測する方法はないため、初期設定でエラーが発生することがデフォルトになります。 –
私はそのような式を書くことを可能にする奇妙なprepserを書いています:http://code.google.com/p/php-preparser/ :)(私は自分のオープンソースのソリューションをここに広告することはできますか?) –
この例は、もはや意味をなさないものです。この構文は現在動作しています。 –