gpt4 book ai didi

php - 获取对象属性,我应该抛出异常吗?

转载 作者:行者123 更新时间:2023-12-02 05:06:33 27 4
gpt4 key购买 nike

有一次我看到有人在__get方法中使用了下面的代码,看起来很优雅,所以我就复制了。

public function __get($param)
{
if (!isset($this->params[$param])) {
throw new Exception("Property doesn't exist");
}
return $this->params[$param];
}

但是现在根据属性是否存在来处理一个简单的 Action 时的异常似乎太多了。在这种情况下最好做什么。是否返回 NULL 然后检查是否足够?

最佳答案

与其他一些语言不同,在 php 中,这不是特殊情况。我同意你的看法,除非有特殊情况,否则异常(exception)情况太过戏剧化。

我倾向于模仿 php 中正常的预期行为,即返回 null 和 trigger 的值。 E_NOTICEE_USER_NOTICE 级别的错误。这是您尝试读取未定义的属性、数组索引或变量时的正常行为。

顺便说一句,您可能也有兴趣实现魔法 __isset方法

关于php - 获取对象属性,我应该抛出异常吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10787547/

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