标签:调度 fun name isp asm code function 模拟 ref
<?php class IndexAction { public function index() { echo ‘index‘; } public function indexBefore() { echo ‘indexBefore‘; } public function indexAfert() { echo ‘indexAfert‘; } public function sayHello($name) { echo "{$name}helloword!"; } } if (class_exists(‘IndexAction‘)) { $ReflectObj = new ReflectionClass(‘IndexAction‘); if (!$ReflectObj->hasMethod(‘index‘)) { throw new Exception(‘不存在index‘); } $ReflectIndex = $ReflectObj->getMethod(‘index‘); if (!$ReflectIndex->isPublic()) { throw new Exception(‘index不是共有方法‘); } if ($ReflectObj->hasMethod(‘indexBefore‘)) { $ReflectIndexBefore = $ReflectObj->getMethod(‘indexBefore‘); $ReflectIndexBefore->invoke($ReflectObj->newInstance()); } if ($ReflectObj->hasMethod(‘sayHello‘)) { $ReflectSayHello = $ReflectObj->getMethod(‘sayHello‘); $ReflectSayHello->invoke($ReflectObj->newInstance(), ‘小明‘); } if ($ReflectObj->hasMethod(‘indexAfert‘)) { $ReflectindexAfert = $ReflectObj->getMethod(‘indexAfert‘); $ReflectindexAfert->invoke($ReflectObj->newInstance()); } }
利用反射获取类中的信息,来对类进行制定规则。
标签:调度 fun name isp asm code function 模拟 ref
原文地址:https://www.cnblogs.com/homehym/p/9743720.html