アプリによってスローされたすべての例外をキャッチして処理するために、 「イベント リスナーの作成方法」を実装しました。
しかし、ホームページにアクセスすると、次のエラーが表示されました (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);
}
}