首页 / 知识
关于oop:这是处理PHP类中的getter / setter的合理方法吗?
2023-04-13 11:37:00

Is this a reasonable way to handle getters/setters in a PHP class?我将尝试使用此问题的格式进行尝试,并且我非常乐意就更好的方法提出建议。 我不想只是在问题中转储一堆代码,所以我已将该类的代码发布在 基类,可轻松处理类属性 我的想法是人们可以在此处发布代码段,也可以在 无论如何,要继续讲授课程本身: 我看到了很多关于getter / setter类方法的争论,最好是直接访问简单的属性变量,还是每个类都定义了显式的get / set方法,等等。我喜欢使用显式方法的想法,以防您以后需要添加更多逻辑。然后,您不必修改任何使用该类的代码。但是我讨厌有一百万个看起来像这样的函数:
现在我确定我不是第一个这样做的人(我希望有人可以向我建议一种更好的方法)。 基本上,PropertyHandler类具有__call magic方法。然后,通过__call传入的任何以" get"或" set"开头的方法都将路由到将值设置或检索到关联数组中的函数。数组中的键是获取或设置后调用方法的名称。因此,如果进入__call的方法是" getFirstName",则数组键是" FirstName"。 我喜欢使用__call,因为它会自动处理子类已经定义了" getFirstName"方法的情况。我的印象(我可能错了)是__get 我的操作方式如下:
将输出哪个(为清楚起见添加了换行符)
@Brian
|
最新内容
相关内容
python中获取路径的三种方法
python中获取路径的三种方法,工作,代码,情况,培训,下来,路径,文件,也就是,桌面,目录,python中获取路径总结下来分为三种情况:1、获取工作目录python列表有哪些常用方法?
python列表有哪些常用方法?,位置,方法,培训,列表,语法,元素,示例,对象,以上,参数,列表是最常用的Python数据类型,它可以作为一个方括号内的逗Python如何创建对象,有哪些方法
Python如何创建对象,有哪些方法,培训,对象,方法,内容,函数,属性,所在,以上,以下,功能,以下介绍Python创建对象的9种方法。classPoint:def__iniPython静态函数和普通方法的区别
Python静态函数和普通方法的区别,培训,方法,静态,区别,实例,函数,属性,结果,例子,下面,下面通过一个例子,讲解Python静态函数、普通方法、类方python中什么是类方法
python中什么是类方法,培训,方法,实例,静态,定义,参数,函数,内部,变量,属性,python中的类方法,指的是在类中定义的函数,函数在类的内部称为方法python看类里有哪些方法
python看类里有哪些方法,信息,员工,培训,名称,方法,函数,冒号,字符串,语句,结尾,python使用class语句来创建一个新类,class之后为类的名称并以python怎么调用方法
python怎么调用方法,系统,培训,方法,参数,法名,定义,列表,实例,以上,函数,python调用的方法类的方法的定义1、定义一个类deffun_name(self,..python对象与方法的区别是什么
python对象与方法的区别是什么,地址,数据,培训,对象,函数,类型,字符串,方法,表示,身份,python使用对象模型来存储数据,也就是说构造任何类型的python调用方法必须实例化么
python调用方法必须实例化么,代码,培训,方法,静态,工厂,参数,程序,对象,实例,定义,python类中的实例方法和静态方法,在调用时,是有区别的。静态python调用本类方法
python调用本类方法,培训,方法,定义,静态,实例,关键字,以上,更多,内容,python如何调用本类方法要想调用类中的方法,首先要定义一个类,python中python有map方法吗
python有map方法吗,培训,位置,数据,函数,列表,序列,参数,元素,方法,使用方法,python中的map:map()会根据提供的函数对指定序列做映射。第一个python有哪些方法可以解压文件?
python有哪些方法可以解压文件?,工具,系统,工作,培训,文件,文件夹,方法,窗体,不同于,以下内容,在Python学习和日常使用中,很容易造成文件过大。