PHP中的反射模拟框架中控制器的调度
Posted 清水泥沙
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP中的反射模拟框架中控制器的调度相关的知识,希望对你有一定的参考价值。
<?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()); } }
利用反射获取类中的信息,来对类进行制定规则。
以上是关于PHP中的反射模拟框架中控制器的调度的主要内容,如果未能解决你的问题,请参考以下文章
asp.net MVC 框架中控制器里使用Newtonsoft.Json对前端传过来的字符串进行解析