0

アプリによってスローされたすべての例外をキャッチして処理するために、 イベント リスナーの作成方法を実装しました。

しかし、ホームページにアクセスすると、次のエラーが表示されました (Apache ログから):

本番モード (app.php):

構文エラー、予期しない「-」、「(」が必要 appProdProjectContainer.php 行 383

開発中。モード (app_dev.php):

構文エラー、予期しない「-」、1131 行目の appDevDebugProjectContainer.php の「(」が必要です

私はグーグルで検索しましたが、私の問題を解決できるものは見つかりませんでした...

したがって、これは「DependencyInjection/lhnbackendExtension」クラスによってロードされた私のservices.ymlです。

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);
    }
}
4

1 に答える 1

0

サービス名にハイフンを含めないようにしてください。

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

なる:

services:
    kernel.listener.lhn_exception:    
    ...
于 2012-08-31T12:10:30.253 に答える