无为清净楼资源网 Design By www.qnjia.com
本文实例讲述了php反射学习之依赖注入。分享给大家供大家参考,具体如下:
先看代码:
<"Class $controller does not existed!"); } // 获取类的反射 $reflector = new ReflectionClass($controller); // 检查方法是否存在 if (!$reflector->hasMethod($action)) { exit("Method $action does not existed!"); } // 取类的构造函数 $constructor = $reflector->getConstructor(); // 取构造函数的参数 $parameters = $constructor->getParameters(); // 遍历参数 foreach ($parameters as $key => $parameter) { // 获取参数声明的类 $injector = new ReflectionClass($parameter->getClass()->name); // 实例化参数声明类并填入参数列表 $parameters[$key] = $injector->newInstance(); } // 使用参数列表实例 controller 类 $instance = $reflector->newInstanceArgs($parameters); // 执行 $instance->$action(); class HelloController { private $model; public function __construct(TestModel $model) { $this->model = $model; } public function actionWorld() { echo $this->model->property, PHP_EOL; } } class TestModel { public $property = 'property'; }
(以上代码非原创)将以上代码保存为 run.php
运行方式,在终端下执行php run.php Hello World
可以看到,我们要执行 HelloController 下的 WorldAction,
HelloController 的构造函数需要一个 TestModel类型的对象,
通过php 反射,我们实现了, TestModel 对象的自动注入,
上面的例子类似于一个请求分发的过程,是路由请求的分发的一部分,假如我们要接收一个请求 地址例如: /Hello/World
意思是要执行 HelloController 下的 WorldAction 方法。
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php面向对象程序设计入门教程》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
标签:
php,反射,依赖注入
无为清净楼资源网 Design By www.qnjia.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
无为清净楼资源网 Design By www.qnjia.com
暂无评论...
更新日志
2024年09月25日
2024年09月25日
- 范文芳.1996-FNNTASY【HYPE】【WAV+CUE】
- 纯音入心系列纯音乐《韵味古筝曲》1CD[MP3][146.2MB]
- 纯音入心系列纯音乐《古筝系列-传统乐曲》1CD[MP3][974.7MB]
- 纯音入心系列纯音乐《古筝系列-弦凝指咽声停处》1CD[MP3][656.5MB]
- 群星.1994-大烂片2辑【派森】【WAV+CUE】
- 吴倩莲.1997-望爱【EMI百代】【WAV+CUE】
- 杨千嬅.2002-万紫千红演唱会2CD(2024环球红馆40复刻系列)【环球】【WAV+CUE】
- 郭采洁.2015-Begin.Again爱造飞鸡【华纳】【FLAC分轨】
- 许志安.2011-ON.AND.ON【东亚】【WAV+CUE】
- 潘秀琼.1994-木兰从军【名将】【WAV+CUE】
- 纯音入心系列纯音乐《古筝系列-当流行乐遇到古筝》1CD[MP3][1.9GB]
- 纯音入心系列纯音乐《精选古筝名曲100首》1CD[MP3][388.7MB]
- 纯音入心系列纯音乐《天籁古筝》1CD[MP3][331MB]
- 男女对唱典藏天碟《发烧对唱·那个季节里的歌DSD》10CD[WAV]
- 群星2010-歌林精选辑[歌林][WAV+CUE]