php反射效果:基类访问子类数据
程序员文章站
2022-03-27 16:45:23
...
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就给注入进去了。