php反射效果:基类访问子类数据
php不用学习直接使用的特点,使它迅速风靡起来,并且被很多不注意的人用烂。当然,它在设计之初就没有考虑采用很规范化的方式也是原因之一。最近在写代码的偷懒之余,偶然发现,基类是可以访问子类的数据的(php 5.2.6):
class base{
protected $data_test1 = false;
//FIXME 这个搞法太山寨了
function set_data($name, $data){
$this->$name = $data;
}
}
class extend extends base{
protected $data_test2 = false;
function do_output(){
var_dump($this->data_test2);
}
}
$test_class = new extend();
$test_class->set_data("data_test1", "hello1");
$test_class->set_data("data_test2", "hello2");
var_dump($test_class);
$test_class->do_output();
看看结果就能知道,php没有将方法的作用范围与类严格的绑定在一起。不过这个对依赖注入的框架来说,这个算是好事了,只需要以数组的形式提供自己所需要的数据,框架用个foreach就给注入进去了。
---------------------------------------------------------------
本站作品根据创作共同协议进行授权, 转载时请务必以超链接形式标明文章原始出处
原文地址:http://www.mirecle.com/2010/01/18/php-reflection-effect-the-base-class-to-access-sub-categories-of-data.html
---------------------------------------------------------------
您可能会喜欢:
有空把你的这个WP主题优化一下吧,那你的<title>闫鹏's blog</title>
@康盛博客
咋优化呢,指点一下吧,我已经针对这个做过优化了啊。是说那个’s的问题么,不太明白在什么情况下会出问题…