gpt4 book ai didi

php - 将 PHP 错误处理程序限制在特定的命名空间

转载 作者:可可西里 更新时间:2023-10-31 22:51:04 24 4
gpt4 key购买 nike

在 PHP 中有什么方法可以只为特定的命名空间设置错误处理程序吗?我正在构建一个小型框架,我希望能够通过设置自定义错误处理程序并使用它抛出异常来 try catch 其命名空间内的所有错误/警告/通知消息。在此特定命名空间之外触发的错误应该以常规方式运行。

可以用PHP完成吗?

谢谢。

最佳答案

对于在发布之前没有实际尝试这一点提前致歉:

PHP 传递给错误处理程序方法的第五个(可选)参数(通常会被忽略)是指向当前 PHP 符号表的数组 $errcontext。我的想法是,如果您可以像 Rudie 所建议的那样从异常的回溯中提取 namespace ,那么也有可能以类似的方式从 $errcontext 中提取 namespace 信息。如果这是真的,那么您的错误处理程序可以检查自己的命名空间,如果当前命名空间与设计错误处理程序的命名空间不匹配,则通过返回 false 来“失败”。

此外,错误处理程序可以“堆叠”,这意味着至少在原则上(如果我关于“挖掘”$errcontext 的建议确实有效)您可以为每个命名空间设置一个单独的错误处理程序。

我并不是说这种方法比 Josh 和 Rudie 提出的解决方案更“优雅”,但它似乎确实符合您正在尝试做的事情 - 即强加一种错误处理程序的范围约束。

祝你好运!

关于php - 将 PHP 错误处理程序限制在特定的命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5748862/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com