- PHP code
<?php class UserClass{ public function userMethod($userParameter='default'){ echo 'invoke success!!!'; } } /****************************反射*********************************/ $className ='UserClass'; $functionName='userMethod'; $reflection = new ReflectionClass($className); if($reflection->isUserDefined()){ if($reflection->hasMethod($functionName)){ $method = $reflection->getMethod($functionName); if($method->isStatic()){ $method->invoke(null); }else{ $instance = $reflection->newInstance(); $method->invoke($instance); } } } /****************************反射*********************************/ /*****************************************************************/ $user=new $className(); $user->$functionName(); /*****************************************************************/ ?>
类名可以从配置文件中动态加载出来,然后创建相应类型的实例。效果是一样的,用反射反而觉得有点麻烦。个人意见,请大家批评指正。
------解决方案--------------------
恩。学习了。
java的反射机制
http://baike.baidu.com/view/1865203.htm
其实想想“反射机制”的目的,可能会对php抱怨就不会太多了
------解决方案--------------------
学习,第一次了解 反射