symfony 4-自定义错误页面和自定义错误消息

时间:2018-07-03 13:55:36

标签: php symfony symfony4

我想在Symfony 4中创建我的自定义错误页面(404、403等),因此出现异常,例如

if (!$thisVarIsNull) {
    throw $this->createNotFoundException(
        'This is my custom message'
    );
}

并且我已经在位置templates/bundles/TwigBundle/Exception/error.html.twig中创建了基本模板:

{% extends "base.html.twig" %}
{% block title %}
    We got a problem
{% endblock %}
{% block body %}
    <div>
        <p>
            {{ status_code }} :: {{ exception.message }}
        </p>
    </div>
{% endblock %}

,但是exception.message不返回任何内容。问题出在哪里?

2 个答案:

答案 0 :(得分:2)

您要寻找的是{{ status_message }}而不是{{ exception.message }}

答案 1 :(得分:1)

好吧,我检查了文档。没有可变的例外

你只能得到两件事

  • CODE-{{status_code}}
  • STATUS_TEXT-{{status_text}}

另外

当您收到除404/403以外的所有错误时,会呈现

error.html.twig

还请为404/403创建模板(在同一文件夹中),否则将呈现默认模板。

  • error404.html.twig
  • error403.html.twig

您可以使用/ _error / {statusCode} ...轻松地测试开发中的所有内容

例如:yoursite.com/_error/404