2012-08-31 24 views
0

我已經實現了"How to create an Event Listener"趕上&處理所有異常扔在我的應用程序Symfony2的:創建一個事件偵聽器:語法錯誤,意外「 - 」,希望「(」

但是,當我去。在主頁上,我得到這個錯誤(從Apache日誌):

在生產模式(app.php):

語法錯誤,意外 ' - ',希望 '(' appProdProjectContainer.php線383

In dev。模式(app_dev.php):

語法錯誤,意外 ' - ',希望 '(' 在appDevDebugProjectContainer.php上線1131

我GOOGLE了,但我沒有找到的東西能解決我的問題...

所以,在這裏,這是我 services.yml由 「DependencyInjection/lhnbackendExtension」 類加載:

services: 
    kernel.listener.lhn-exception: 
     class: lhn\backendBundle\Listener\LhnExceptionListener 
     tags: 
      - { name: kernel.event_listener, event: kernel.exception, method: onKernelException } 

- >我試過配置在XML文件中的服務,但出現同樣的錯誤......

的基本監聽器實現:

namespace lhn\backendBundle\Listener; 

use Symfony\Component\HttpKernel\Event\GetResponseForExceptionEvent; 
use Symfony\Component\HttpFoundation\Response; 

class LhnExceptionListener 
{ 
    public function onKernelException(GetResponseForExceptionEvent $event){ 
     // We get the exception object from the received event 
     $exception = $event->getException(); 
     $message = 'My Error says: ' . $exception->getMessage(); 

     // Customize our response object to display our exception details 
     $response = new Response(); 
     $response->setContent($message); 
     $response->setStatusCode($exception->getStatusCode()); 

     // Send our modified response object to the event 
     $event->setResponse($response); 
    } 
} 
+0

嘗試通過'lhn_exception' – Florent

回答

0

嘗試沒有連字符走在了服務名稱。

services: 
    kernel.listener.lhn-exception:  
    ... 

變爲:

services: 
    kernel.listener.lhn_exception:  
    ... 
+0

它工作得更好:-P更換'LHN-exception' – gudepier

相關問題