返回信息流如果设置类属性为私有,然后又有__get和__set方法使得可以在类体外调用私有成员,那直接
把成员设置成共有的不就行了?
不太懂__get和__set方法存在的意义。
这是一条镜像帖。来源:北邮人论坛 / www-technology / #10725同步于 2010/8/26
该镜像源已超过 30 天没有更新,可能在源站已被删除。
WWWTechnology机器人发帖
问个小白问题:关于php中私有成员的。
bowinventer
2010/8/26镜像同步11 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
__get和__set是需要你定义的,由你来决定成员变量的暴露程度,使用这两个魔术方法不一定就是要返回变量的原始值,在get和set时你可以对成员变量做相应的处理,比如格式化。
【 在 bowinventer (天地人神鬼) 的大作中提到: 】
: 如果设置类属性为私有,然后又有__get和__set方法使得可以在类体外调用私有成员,那直接
: 把成员设置成共有的不就行了?
: 不太懂__get和__set方法存在的意义。
: ...................
甚至如果是只读属性,可以根本不存在这个成员变量,只存在get方法,需要的时候根据别的变量计算出来。
【 在 xw2423 (静水之人) 的大作中提到: 】
: __get和__set是需要你定义的,由你来决定成员变量的暴露程度,使用这两个魔术方法不一定就是要返回变量的原始值,在get和set时你可以对成员变量做相应的处理,比如格式化。
这是一种用法,这两个方法怎么定义怎么用完全取决于你的设计
【 在 bowinventer (天地人神鬼) 的大作中提到: 】
: 也就是说在这两方法里加些判断,可以限定只有符合判断的才能调用类体内的成员?
如果设成公共的 想一下
class ob
{
public $var = 0;
}
$var = new $ob;
$ob->var = 10;
这样会出现什么情况。。
如果class里有个操作数据库的function中有exec,system,。。。……&!%@不敢想象了。。
这思维跳跃的……
【 在 myStefanie (【路】小伦) 的大作中提到: 】
: 如果设成公共的 想一下
: class ob
: {
: ...................