コーダーの皆さん、こんにちは。
次の方法で、kernel.requestリスナーとしてリクエストルートベースのコントローラー上書き機能を作成しようとしました:
public function onKernelRequest(GetResponseEvent $event){
$requested_uri = $event->getRequest()->getRequestUri();
if($requested_uri == '/' || $requested_uri == '/index.php' || $requested_uri == '/index_dev.php'){
$event->getRequest()->attributes->set('_controller', 'TestHomeBundle:Home:index');
}
}
ただし、Apache ログに次のエラーが表示されます。
PHP Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 39 bytes) in /vendor/symfony/symfony/src/Symfony/Component/Routing/Generator/UrlGenerlGenerator.php on line 182
以下の方法で登録しました。
kernel.listener.homepage_rewrite_listener:
class: Test\HomeBundle\EventListener\HomepageRewriteListener
tags:
- { name: kernel.event_listener, event: kernel.request, method: onKernelRequest, priority: 35 }
主な問題は、これ以上のメモリを提供できないことです。どんなアイデアでも大歓迎です。前もって感謝します。