PHP 有没有办法只为特定的命名空间设置错误处理程序?我正在构建一个小型框架,我希望能够通过设置自定义错误处理程序并抛出异常来尝试捕获其名称空间内的所有错误/警告/通知消息。
在此特定名称空间之外触发的错误应该以常规方式表现。
用PHP可以完成吗?
谢谢。
提前道歉,在发布之前没有实际尝试一下:
PHP 传递给错误处理方法的第五个(可选)参数(通常会被忽略)是一个数组 $errcontext,它指向当前的 PHP 符号表。我的想法是,如果您可以按照 Rudie 的建议从异常的回溯中提取命名空间,那么也可以以类似的方式从 $errcontext 中提取命名空间信息。如果这是真的,那么您的错误处理程序可以检查自己的命名空间,如果当前命名空间与错误处理程序设计的命名空间不匹配,则通过返回 false 来“失败”。
另外,错误处理程序可以“堆叠”,这意味着至少在原则上(如果我对“我的” $errcontext 的建议确实有效),您可以为每个名称空间设置单独的错误处理程序。
我并不是说这种方法比 Josh 和 Rudie 提出的解决方案更“优雅”,但它似乎确实符合您想要做的事情 - 即对 Josh 和 Rudie 施加某种范围限制你的错误处理程序。
祝你好运!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)