は、私はここにhttp://symfony.com/doc/current/controller/error_pages.html彼らの例を踏襲symfonyの3 で例外コントローラーを上書きしようとするが、それはそれで最初、私はアプリ/ Ressources/TwigBundleで私のエラーページを作成しているSymfony3、オーバーライド例外コントローラ
を動作しません。.. ./error404.html.twig
コントローラのオーバーライドなしで機能します。
第二に、私はサービスの下で、services.ymlに追加しました:私のコントローラのフォルダ内の
frontBundle\Controller\CustomExceptionController:
public: true
arguments:
$debug: '%kernel.debug%'
は第三に、私はCustomExceptionController.php インサイドを作成して、私は(私はfindtempleを上書きしたい(入れています))
namespace frontBundle\Controller;
use Symfony\Bundle\TwigBundle\Controller\ExceptionController;
use Symfony\Bundle\FrameworkBundle\Templating\TemplateReference;
use Symfony\Component\HttpFoundation\Request;
class CustomExceptionController extends ExceptionController
{
/**
* @param Request $request
* @param string $format
* @param int $code An HTTP response status code
* @param bool $showException
*
* @return TemplateReferenceInterface
*/
protected function findTemplate(Request $request, $format, $code,
$showException)
{
}
}
ただし、動作しません。この新しいコントローラは考慮されておらず、findTemplate()はオーバーライドされません。
私は何かを見逃しましたか?
# app/config/services.yml
services:
_defaults:
# ... be sure autowiring is enabled
autowire: true
# ...
AppBundle\Controller\CustomExceptionController:
public: true
arguments:
$debug: '%kernel.debug%'
と:あなたは、コントローラは、これを試してオーバーライドする必要がある場合は
symfonyの3 ...
とそのことについて多くの援助が本当にありませんがそんなに
。 yml'(あなたのリンクに記載されています)? – sim100
をテストするために、新しいerror404ページ名へのパスだけで保護された関数findTemplate()内のいくつかのコードを置くことを私は正確
よろしく
– ccKep@ccKep:「exception_controller:frontBundle:Exception:showException」を追加すると、「致命的なエラー:未知の例外 'Symfony \ Component \ Routing \ Exception \ ResourceNotFoundException' ...」が発生する – sim100