gpt4 book ai didi

PHP _get & _get 或每个变量的唯一获取和设置函数?

转载 作者:可可西里 更新时间:2023-11-01 13:16:59 46 4
gpt4 key购买 nike

PHP 内置了 _get 和 _set 函数。是为每个变量编写自己的 get 和 set 函数更好,还是使用带有大量 if else if 的内置函数?每种方法的优缺点是什么?

最佳答案

__get__set 是魔术方法,通常应该用来解决困难的问题,而不是作为设计依据。

例如,我发现自己在一个项目中必须分析一个使用具有深度继承 (> 2) 的 OOP 的站点,其中一个重要的基类有一个名为 name 的公共(public)属性。但是,它也有 getter 和 setter(getNamesetName)访问该属性仅仅是为了获取和设置它。许多类调用了 getName 并且同样多的类直接访问了 name 属性!不是很好的设计。

魔术方法使我能够通过将属性重命名为 _name 并将其设为私有(private)来解决问题,强制所有请求都通过 getter 和 setter 对该属性进行请求。

也就是说,如果您只是将属性视为变量,则不需要 getter 和 setter。在这种情况下,只需将属性公开即可!

在您的情况下,由于正在进行验证/清理,您应该使用 getter 和 setter 并将它们直接编码为方法(而不是不必要地从魔法方法中产生开销)。

关于PHP _get & _get 或每个变量的唯一获取和设置函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3081829/

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