调试组件

编辑本页

警告:您正在浏览的文档欧宝体育电话欧宝娱乐app下载地址Symfony 2.7,现已不再维护。

本页的更新版本用于Sy欧宝娱乐app下载地址mfony 6.2(当前稳定版本)。

调试组件

Debug组件提供了简化调试PHP代码的工具。

2.3

调试组件在Symfony 2.3中引入。欧宝娱乐app下载地址以前,类位于HttpKernel组件中。

安装

1
作曲家需要symfony/调试欧宝娱乐app下载地址

或者,您可以克隆https://github.com/欧宝娱乐app下载地址symfony/debug存储库。

请注意

如果在Symfony应用程序外部安装此组件,则必须要求欧宝娱乐app下载地址供应商/ autoload.php文件,以启用Composer提供的类自动加载机制。读这篇文章欲知详情。

使用

Debug组件提供了几个工具来帮助您调试PHP代码。启用这些功能非常简单:

1 2 3
使用欧宝娱乐app下载地址组件调试调试;调试::使();

使()方法注册错误处理程序、异常处理程序和一个特殊的类装入器

有关不同可用工具的更多信息,请阅读以下部分。

谨慎

永远不要在生产环境中启用调试工具,因为它们可能会向用户泄露敏感信息。

启用错误处理程序

ErrorHandler类捕获PHP错误并将其转换为异常(类的异常)ErrorExceptionFatalErrorExceptionPHP致命错误):

1 2 3
使用欧宝娱乐app下载地址组件调试ErrorHandler;ErrorHandler::注册();

启用异常处理程序

ExceptionHandler类捕获未捕获的PHP异常,并将它们转换为良好的PHP响应。在调试模式下,用更漂亮更有用的东西替换默认的PHP/XDebug输出是很有用的:

1 2 3
使用欧宝娱乐app下载地址组件调试ExceptionHandler;ExceptionHandler::注册();

请注意

如果HttpFoundation组件可用时,处理程序使用Symfony Response对象;欧宝娱乐app下载地址如果不是,则返回到常规PHP响应。

调试类加载器

DebugClassLoader当已注册的自动加载器未找到类时,尝试抛出更有用的异常。实现a的所有自动装载机findFile ()方法替换为DebugClassLoader包装。

使用DebugClassLoader就像调用它的静态一样简单吗使()方法:

1 2 3
使用欧宝娱乐app下载地址组件调试DebugClassLoader;DebugClassLoader::使();
此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。