对PHP的魔术方法的介绍,__get()和()__set

对PHP的魔术方法的介绍,__get()和()__set
首先看看PHP官方文档的解释:
__set()运行时数据写入到人迹罕至的性质。
__get()是用于访问属性中读取数据。

你怎么用中文翻译
访问:,是很难达到无与伦比的;难以理解。

代码中有事实:
复制代码代码如下所示:
< PHP
error_reporting(e_all);
班级学生{
私营的;
私人$ 0;
公开发行;
公共$ D = 0;
这里可以由私人/受保护的公众来代替
私有函数__get($name){
返回123;
}

这里是私人的/可以由受保护的公众取代的。
私有函数__set($name,美元价值){
这是set函数;
}
}
美元=新的斯图();
var_dump($ S -> a); / /输出:123
var_dump($ S -> b); / /输出:123
var_dump($ S>C); / /输出:空
var_dump($ S -> D); / /输出:0
var_dump($ S -> E); / /输出:123
$ = 3;输出:这是set函数
$ = C = 3;无输出
$ = f=3;输出:这是set函数
>
结果分析:
如果没有__get方法,对var_dump执行($ S ->一)var_dump($ S -> b)会有致命的错误
如果没有__get方法,对var_dump执行($ S -> E)将有一个通知,说明属性$ E没有定义。

总结:
1。的__get()方法被调用时,数据是从一个无法访问的属性中读取
2。的__set()方法被调用时,一个无法访问的属性值分配
三.困难包括:(1)私人性质,(2)未初始化的属性
4。__isset()()__unset相似
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部