プロジェクトを Symfony 2.3 に更新してから、php 通知で例外がスローされなくなりました。
配列内の未定義のインデックスにアクセスしようとすると、通知が表示されますが、例外はスローされません。
最初は混乱したと思いましたが、これは以前のバージョンの動作だったのかもしれません。そうでないことを示唆するstackoverflowに関する質問を見つけました。
Symfony 2.3にsymfony2通知で例外をスローさせる方法はありますか?
プロジェクトを Symfony 2.3 に更新してから、php 通知で例外がスローされなくなりました。
配列内の未定義のインデックスにアクセスしようとすると、通知が表示されますが、例外はスローされません。
最初は混乱したと思いましたが、これは以前のバージョンの動作だったのかもしれません。そうでないことを示唆するstackoverflowに関する質問を見つけました。
Symfony 2.3にsymfony2通知で例外をスローさせる方法はありますか?
boot()
FrameworkBundle のメソッドの先頭を見てください。
public function boot()
{
ErrorHandler::register(null, false)->throwAt($this->container->getParameter('debug.error_handler.throw_at'), true);
// ...
}
独自のエラー ハンドラーをAppKernel
(私が行っていたように) に登録しても、FrameworkBundle はそれをオーバーライドします。ただし、次のdebug.error_handler.throw_at
ようにパラメーターを使用して FrameworkBundle のエラー ハンドラーを構成できます。
# in config.yml, for example
parameters:
# ALWAYS throw exceptions for notices, warnings, etc.
debug.error_handler.throw_at: -1
これがどこかに文書化されていることを知りません。
PHP の通知と警告は、多くの場合、重大なプログラミング エラー (d'oh!) を示しているため、本番環境であっても、常にすべての例外をスローするのが好きです。
私は答えを見つけました。ここは参考までに。
https://github.com/symfony/symfony-standard/blob/master/UPGRADE-2.3.md