php中__set和__get要怎么理解?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php中__set和__get要怎么理解?相关的知识,希望对你有一定的参考价值。
一个是赋值,一个是取值,有点绕不过弯
没什么绕不过弯的东西啊,就是表面上定义的那样,php面向对象里面的取值和赋值,没必要把简单的问题复杂化
追问好吧,就是理解差,有些地方不明白
参考技术A __get()方法:这个方法用来获取私有成员属性值的,有一个参数,参数传入你要获取的成员属性的名称,返回获取的属性值。如果成员属性不封装成私有的,对象本身就不会去自动调用这个方法。__set()方法:这个方法用来为私有成员属性设置值的,有两个参数,第一个参数为你要为设置值的属性名,第二个参数是要给属性设置的值,没有返回值。(key=>value)本回答被提问者采纳 参考技术B 通俗来说__set就是给类的私有属性赋值
__get获取类私有属性的值 参考技术C $ibj是一个类的实例
$obj–>a的时候自动调用__get
$obj–>a=10的时候自动调用__set
一般每个类都会有的,不用实现
除非你想自己定义一个关于这个类的规则,如想讲每个类的$a属性的取值都加10的情况
以上是关于php中__set和__get要怎么理解?的主要内容,如果未能解决你的问题,请参考以下文章
(实用篇)浅谈PHP拦截器之__set()与__get()的理解与使用方法