??摘要:在trace yii框架源码的时候,遇到__set()魔术方法的使用,有些疑惑,所以写了demo来测试,果然发现了玄机,整理如下。
1. 先来看看书本上讲魔术方法__set()是怎么用的
??使用__set()魔术方法的目的是:在对象外部 为私有属性赋值,不能获取私有属性的值。
??函数原型:
void __set(string name,mixed value)
写个demo:
PHP5学习对象教程由美国人古曼兹、贝肯、瑞桑斯编著,简张桂翻译,电子工业出版社于2007年12月1日出版的关于PHP5应用程序的技术类图书。该书全面介绍了PHP 5中的新功能、编程方法及设计模式,还分析阐述了PHP 5中新的数据库连接处理、错误处理和XML处理等机制,帮助读者系统了解、熟练掌握和高效应用PHP。
classCModule {private$_components = '';
publicfunction__set($name,$value){$this->$name = $value;
}
publicfunctionechoPrivate(){echo$this->_components;
}
}
$config = array(
'_components'=>'request'
);
$module = new CModule();
$module->_components = 'request';
$module->echoPrivate();
//打印结果是//request
').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });
以上就介绍了php 魔术方法 深度理解,包括了PHP 魔术方法方面的内容,希望对PHP教程有兴趣的朋友有所帮助。










