如何自定义错误页面吗
<一个类=”doc-action content-edit" href="https://github.com/symfony/symfony-docs/edit/6.2/controller/error_pages.rst"> 编辑该页面一个>error404.html.twig模板位于模板/ /包/ TwigBundle /异常
:
1 2 3 4 5 6 7 8 9 10 11
{# / error404.html模板/包/ TwigBundle /异常。树枝#}{%扩展“base.html。嫩枝' %}{%块身体%}<h1>页面没有找到< /h1><p>所请求的页面无法找到。检出拼写错误或任何URL<一个href=”{{路径(主页)}}”>返回到主页< /一个>。< /p>{%endblock%}
如果你需要它们,TwigErrorRenderer
通过传递一些信息错误模板status_code
和status_text
变量分别存储HTTP状态代码和消息。
提示
你可以自定义一个异常的状态代码实现<一个href=”https://github.com/symfony/symfony/blob/6.2/src/Symfony/Component/HttpKernel/Exception/HttpExceptionInterface.php" class="reference external" title="HttpExceptionInterface”rel="external noopener noreferrer" target="_blank">HttpExceptionInterface一个>和它的要求getStatusCode ()
方法。否则,status_code
将默认为500年
。
< /div>
另外你可以访问异常异常
,例如允许输出使用堆栈跟踪{{例外。traceAsString}}
或访问其他任何对象上的方法。你应该小心,因为这很可能暴露敏感数据。
提示
PHP错误也变成了异常在默认情况下,你还可以访问这些错误使用细节异常
。
< /div>
序列化器组件有一个内置的FlattenException
标准化者(<一个href=”https://github.com/symfony/symfony/blob/6.2/src/Symfony/Component/Serializer/Normalizer/ProblemNormalizer.php" class="reference external" title="ProblemNormalizer”rel="external noopener noreferrer" target="_blank">ProblemNormalizer一个>)和JSON / XML / CSV / YAML编码器。当你的应用程序抛出异常,Symfony可以输出的格式。ob娱乐下载如果你想改变输出内容,创建一个新的标准化者支持FlattenException
输入:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21日22日23日24
# src /序列化器/ MyCustomProblemNormalizer.php名称空间应用程序\序列化器;使用ob娱乐下载\组件\ErrorHandler\异常\FlattenException;使用ob娱乐下载\组件\序列化器\标准化者\NormalizerInterface;类MyCustomProblemNormalizer实现了NormalizerInterface{公共函数正常化(美元异常、字符串美元格式= null,数组美元上下文= []):数组{返回(“内容”= >“这是我的自定义问题标准化者”。,“例外”= > [“消息”= >美元异常- >getMessage (),“代码”= >美元异常- >getStatusCode ()));}公共函数supportsNormalization(美元数据、字符串美元格式= null,数组美元上下文= []):bool{返回美元数据运算符FlattenException;}}
1 2 3 4 5 6 7 8 9 10 11
{# / error404.html模板/包/ TwigBundle /异常。树枝#}{%扩展“base.html。嫩枝' %}{%块身体%}<h1>页面没有找到< /h1><p>所请求的页面无法找到。检出拼写错误或任何URL<一个href=”{{路径(主页)}}”>返回到主页< /一个>。< /p>{%endblock%}
TwigErrorRenderer
通过传递一些信息错误模板status_code
和status_text
变量分别存储HTTP状态代码和消息。提示
你可以自定义一个异常的状态代码实现<一个href=”https://github.com/symfony/symfony/blob/6.2/src/Symfony/Component/HttpKernel/Exception/HttpExceptionInterface.php" class="reference external" title="HttpExceptionInterface”rel="external noopener noreferrer" target="_blank">HttpExceptionInterface一个>和它的要求getStatusCode ()
方法。否则,status_code
将默认为500年
。
另外你可以访问异常异常
,例如允许输出使用堆栈跟踪{{例外。traceAsString}}
或访问其他任何对象上的方法。你应该小心,因为这很可能暴露敏感数据。
提示
PHP错误也变成了异常在默认情况下,你还可以访问这些错误使用细节异常
。
序列化器组件有一个内置的FlattenException
标准化者(<一个href=”https://github.com/symfony/symfony/blob/6.2/src/Symfony/Component/Serializer/Normalizer/ProblemNormalizer.php" class="reference external" title="ProblemNormalizer”rel="external noopener noreferrer" target="_blank">ProblemNormalizer一个>)和JSON / XML / CSV / YAML编码器。当你的应用程序抛出异常,Symfony可以输出的格式。ob娱乐下载如果你想改变输出内容,创建一个新的标准化者支持FlattenException
输入:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21日22日23日24
# src /序列化器/ MyCustomProblemNormalizer.php名称空间应用程序\序列化器;使用ob娱乐下载\组件\ErrorHandler\异常\FlattenException;使用ob娱乐下载\组件\序列化器\标准化者\NormalizerInterface;类MyCustomProblemNormalizer实现了NormalizerInterface{公共函数正常化(美元异常、字符串美元格式= null,数组美元上下文= []):数组{返回(“内容”= >“这是我的自定义问题标准化者”。,“例外”= > [“消息”= >美元异常- >getMessage (),“代码”= >美元异常- >getStatusCode ()));}公共函数supportsNormalization(美元数据、字符串美元格式= null,数组美元上下文= []):bool{返回美元数据运算符FlattenException;}}