php反射学习之依赖注入示例 初二必考作文

php反射学习之依赖注入示例 初二必考作文

php反射学习之依赖注入示例更新时间:2019年06月14日11:03:25作者:ltx06这篇文章主要介绍了php反射学习之依赖注入,结合具体实例形式分析了php基于反射的依赖注入原理与实现方法,需要的朋友可以参考下本文实例讲述了php反射学习之依赖注入。 分享给大家供大家参考,具体如下:先看代码:phpif(PHP_SAPI!=cli){exit(Pleaserunitinterminal!);}if($argc3){exit(Atleast2argumentsneeded!);}$controller=ucfirst($argv[1]).Controller;$action=action.ucfirst($argv[2]);//检查类是否存在if(!class_exists($controller)){exit("Class$controllerdoesnotexisted!");}//获取类的反射$reflector=newReflectionClass($controller);//检查方法是否存在if(!$reflector-hasMethod($action)){exit("Method$actiondoesnotexisted!");}//取类的构造函数$constructor=$reflector-getConstructor();//取构造函数的参数$parameters=$constructor-getParameters();//遍历参数foreach($parametersas$key=$parameter){//获取参数声明的类$injector=newReflectionClass($parameter-getClass()-name);//实例化参数声明类并填入参数列表$parameters[$key]=$injector-newInstance();}//使用参数列表实例controller类$instance=$reflector-newInstanceArgs($parameters);//执行$instance-$action();classHelloController{private$model;publicfunction__construct(TestModel$model){$this-model=$model;}publicfunctionactionWorld(){echo$this-model-property,PHP_EOL;}}classTestModel{public$property=property;}。