我正在开发一个非常简单但(希望)可靠的框架,以满足我的需求。没有更多的东西,然后真正需要的东西。 我知道你们中的某个人可能会发现我是最后一个“轮子的发明者”,但我相信这个项目,我认为其他框架有时候是无缘无故的。我们都知道,随着框架的复杂性,错误和错误会呈指数级增长。
我遇到了处理错误的问题:PHP错误,框架错误(PHP错误组)等。 有很多方法可以做到,但我通常更喜欢简单的方法。
我应该管理在使用Exceptions或set_error_handler()
初始化框架期间可能发生的所有PHP错误,还是应该构建一个简单的错误处理程序(如果我们处于开发人员模式)或log(如果我们是不是在开发者模式下)错误?
例如:
include('file.php'); // required files for the application
我应该检查它并返回“漂亮的”错误消息,例如“框架无法运行,因为文件丢失”。或者我应该让PHP错误触发自己的错误? 您将如何管理此类型或错误?
答案 0 :(得分:2)
看,你只是在混合这些事情。
实际上有两个人需要通知
了解这一点,你会发现选择什么都没有问题:两者。
对于程序员来说,默认的PHP处理程序就足够了。通过display_errors
和log_errors
设置驱动,PHP将完全按照您的要求执行:show (if we are in developer mode) or log (if we are not in developer mode) the errors
。
对于用户(和搜索引擎)来说,一个好看的" 503错误页面是强制性的。 当然,没有像&#34这样的细节;文件缺失"。只是一个道歉页面。
唯一的问题是如何触发它。 使用自定义错误处理程序的一个很好的理由。
答案 1 :(得分:1)
泄露php错误在安全方面可能非常危险,因为它可以揭示应用程序和服务器的内部。通常,最好将display_errors Off
切换为生产并使用自定义错误处理程序。对于开发来说,这并不重要。
我将引用display_errors
上的php文档:
这是一项支持您的开发的功能,不应在生产系统上使用(例如连接到互联网的系统)。