1

実行中にエラー ページが次のコードにヒットすることはありません。

ここでは 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);
4

0 に答える 0