時々発生する深刻な問題に遭遇します。エラー メッセージは「致命的なエラー: /var/www/quantum-framework-0.9.1-ns-alpha/class/log/LogFacility.class.php の非オブジェクトでメンバー関数の呼び出し () です。ライン 40'
コードは次のとおりです - 40 行目は $this->timer->elapsed()-thing です:
public function __construct() {
parent::__construct();
$this->timer = new \core\base\Timing();
print_r($this);
$this->timer_start = $this->timer->elapsed();
[...]
}
print_r($this) からの出力は次のとおりです。
core\log\LogFacility Object
(
[level:core\log\LogFacility:private] => TRACE
[file:core\log\LogFacility:private] =>
[filename:core\log\LogFacility:private] =>
[enabled:core\log\LogFacility:private] =>
[timer:core\log\LogFacility:private] => core\base\Timing Object
(
[start:core\base\Timing:private] => 1371141304.0793
[stop:core\base\Timing:private] => 0
[q:core\base\Quobject:private] =>
[supported_vars:protected] => Array
(
)
)
[timer_start:core\log\LogFacility:private] =>
[logs:core\log\LogFacility:private] => Array
(
)
[supported_vars:protected] => Array
(
[0] => level
[1] => filename
[2] => enabled
)
[q:core\base\Quobject:private] => core\log\LogFacility
)
では、どうしてそれが起こるのでしょうか?エラーが発生するのはときどきであることに注意してください。ほとんどの場合、このタイミング測定機能とは関係のない他のファイルを変更したときに、さらに (ご覧のとおり) 1 行上に作成したオブジェクトが存在します。
ところで、epposed() メソッドが存在し、公開されています。
回答ありがとうございます。