実行中にエラー ページが次のコードにヒットすることはありません。
ここでは DesignHandler を理解することは重要ではありませんが、重要なことは、エラーが発生したときに、エラー ページに正しくルーティングされますが、このコードにはヒットしないということです。
namespace Application;
class Module
{
public function onBootstrap(MvcEvent $e)
{
$events = $e->getApplication()->getEventManager();
$sharedEvents = $events->getSharedManager();
$sharedEvents->attach(__NAMESPACE__, 'dispatch', function($e) {
$designHandler = Pluto::app()->getDesignHandler();
$designHandler->pump($e);
}, 20);
}
}
または( onbootstrap と init の両方を試しました)
namespace Application;
class Module
{
public function init(\Zend\ModuleManager\ModuleManager $manager)
{
$events = $manager->getEventManager();
$sharedEvents = $events->getSharedManager();
$sharedEvents->attach(__NAMESPACE__, 'dispatch', function($e) {
$designHandler = Pluto::app()->getDesignHandler();
$designHandler->pump($e);
}, 20);
}
}
これを解決する方法がわかりません。エラーが発生するとルートが短絡し、このコードがヒットすることはないと思います
アップデート
私も両方のコードでこれを試しましたが、成功しませんでした:
$sharedEvents->attach(__NAMESPACE__, 'dispatch.error', function($e) {
$designHandler = Pluto::app()->getDesignHandler();
$designHandler->pump($e);
}, 20);