페이지가 렌더링되기 전에 실행되는 코드가 Module.php
입니다.컨트롤러는 InjectApplicationEventInterface를 구현해야합니다.
$eventManager->attach(MvcEvent::EVENT_RENDER, function(MvcEvent $event) {
/** @var ServiceManager $sm */
$sm = $event->getParam('application')->getServiceManager();
$logger = $sm->get(LogService::class)->getLogger();
$themeResolver = $sm->get(ThemeResolveService::class);
$df = $sm->get(DataFetchService::class);
$params = $sm->get('ControllerPluginManager')->get('params');
$security = $sm->get(SecurityService::class);
try {
$cleanedParams = $security->clean($params->fromRoute());
} catch (\Exception $e) {
echo $e->getMessage();
$logger->info($e->getMessage());
die();
}
/** theme resolving code **/
}
내가 가진 문제는이 라인이다 :
$cleanedParams = $security->clean($params->fromRoute());
$params->fromRoute()
시대의 대부분의 작동하지만 내가 제 3 자 API에서 내 응용 프로그램을 호출 할 때 때때로 나는이 오류가 발생합니다.
Controllers must implement Zend\Mvc\InjectApplicationEventInterface to use this plugin
나는 호출에 다른 아무것도 표시되지 않습니다. 난 그냥 응용 프로그램의 디자인을 변경해야 할 경우이 오류를 나타내는 무슨 설명이 필요, 그렇게해야합니다.