PHP反射机制实现插件的可插拔设计
// 反射执行方法(注入菜单) foreach (get_declared_classes() as $class){$refClass = new ReflectionClass($class);
if($refClass->implementsInterface(‘IPlugin’)){
//插件初始化
$refClass->getMethod(‘init’)->invoke(null);
//获取注入菜单
$menuItem = $refClass->getMethod(‘getMenu’)->invoke(null);
//合并菜单项
$menu = array_merge($menu, array($menuItem));
}
}
页:
[1]