【发布时间】:2013-07-12 06:36:31
【问题描述】:
我正在用 php 开发一个需要 MySQL 数据库的 Web 应用程序。
对于每个请求,我都会按照以下工作流程检查应用程序是否已安装:
- 调用主配置文件;
- 主配置文件检查自定义配置文件是否存在(该文件包含用户定义的数据库连接数据);
- 如果自定义配置存在,调用安装配置文件(定义安装点);
- 安装配置调用db类并尝试连接;
- 如果已连接,则使用 sql 语句“SHOW TABLES”检查表。 ...
我的问题在 4.,如果在尝试连接时设置 report_errors(0) 是一种不好的做法,因为我不想向用户显示连接错误,我只会通知用户自定义配置数据不正确。
尝试连接后,我将错误报告重新定义为 E_ALL | E_STRICT。
顺便说一句,我也对整个过程的批评持开放态度。
谢谢。
【问题讨论】:
-
离题:为什么“最佳实践”的堆栈溢出中没有标签?
-
通常,您希望在开发过程中看到错误日志;在生产中不显示任何内容,但在日志文件中附加错误。
-
或者您可以迁移到异常模型。捕获在配置步骤中发出的任何错误并适当地处理它们。
-
是的,我有一个错误处理程序类,它结合了一个调试器,如果它们处于活动状态(在开发时),则可以显示它们。我真的应该使用它来不显示错误,并且我可以捕捉到它以更具体地向用户说明他在 conf 文件中做错了什么。
标签: php error-reporting