【发布时间】:2014-11-24 16:27:36
【问题描述】:
我想要做的是自定义错误页面,它们不仅会扩展基本布局,而且我还希望在这些页面中额外销售内容,因此仅更改模板不是一种选择
不管是什么原因(404 Not Found 或只是缺少变量)我都想显示我的模板和我的内容
我花了几个小时试图让这件事顺利进行
app/console --version
Symfony version 2.5.6 - app/dev/debug
我尝试了一些资源,但无法正常工作。列举几个:
http://symfony.com/doc/current/reference/configuration/twig.html http://symfony.com/doc/current/cookbook/controller/error_pages.html
我在没有调试的情况下在 dev 中运行,请参阅下面的 app_dev.php:
$kernel = new AppKernel('dev', false);
按照教程我得到了这些额外的位
app/config/config.yml
twig:
exception_controller: SomethingAppBundle:Exception:show
在我的包中
<?php
namespace Something\AppBundle\Controller;
use Symfony\Component\HttpKernel\Log\DebugLoggerInterface;
use Symfony\Component\HttpKernel\Exception\FlattenException;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
class ExceptionController extends Controller
{
public function showAction( FlattenException $error, DebugLoggerInterface $debug)
{
print_r($error);
}
}
但是我的错误控制器没有被执行,
我故意通过尝试在不同的控制器中回显未定义的变量来导致错误,因为它应该处理来自整个应用程序的错误
【问题讨论】:
-
“我尝试了一些无用的资源,实际上我尝试了更多,但出于沮丧我只提这两个,毕竟它的“文档”是正确的,尽管没有任何效果从那里开始,讨厌吹牛,但 WTFPOS 文档”。我知道你很沮丧,但请不要责怪别人。如果这是您的诚实意见,请向我展示不适合您的代码示例,我们将对其进行修复。就像我们在过去 3 年中对所有其他文档错误所做的那样
-
抱歉,上面的代码应该适用于“替换默认异常控制器”部分
-
@tomhre 这个问题你解决了吗?
标签: symfony exception-handling error-handling custom-error-pages