![]() |
1
3
如果您等待PHP 7,就可以访问 null coalesce ternary 运算符,除了存在最酷的操作符名(我命名下一个孩子“NULL CONESCE”)将允许您这样做:
|
![]() |
2
9
开发一个大型的PHP应用程序是可能的,它永远不会发出任何E_通知。你所要做的就是避免所有可以发出通知的情况,其中绝大多数是未初始化的变量和非Exxistar数组密钥。不幸的是,这与你希望避免
最多,您可以通过仔细构建框架来最小化它们的使用。这通常意味着(例如)输入层被告知
与其他语言不同,PHP区分一个不存在的变量和包含一个通常为“空”的值(通常)。
|
![]() |
3
6
我的建议是:
还有一个建议是
not to use the closing
|
![]() |
4
2
|
![]() |
5
2
但写一个 user-defined error handler 使用debug_backtrace使用regexp对E_NOTICE(8)进行排序。 |
![]() |
7
2
下面是当我遇到这个让代码无法读取的问题时所做的操作:
在这里交叉发布这个答案。这有助于垃圾邮件检查吗? |
![]() |
8
1
最好的避免方法
至于错误处理本身,我将所有这些信息输出到服务器日志中。我也用
编辑:
@马里奥-我对你的评论反应太长了:-)。我不提倡定义类型或使用某种严格的格式,比如Java或C,我只是提倡在使用的上下文中声明变量。(
我认为在很多情况下,这更多的是全局变量的问题,特别是用于获取和发布数据的超全局变量。我真的希望PHP能够去掉超全局变量,而使用一个类来获取输入数据。像这样的事情(非常简单,但是嘿,你想要一些具体的东西:)
包含类,然后您可以从
|
![]() |
9
1
这是一个过时的答案,但我最初使用了一个灵活的日志调度器,当时, https://github.com/grosser/errorhandler
不管怎样,我同时在用
对于另一个项目,我甚至使用了一个预处理器宏
|
![]() |
Karlo · PHP Sqlite PDO最新版本 5 月前 |
![]() |
Malte · 检查远程服务器上是否存在文件(使用PHP)[关闭] 5 月前 |
![]() |
Bard.Mus · 迁移后的数据库字符集环境 5 月前 |