tp5.1 依赖注入的使用
参考:
概念:https://blog.csdn.net/qq_36172443/article/details/82667427
应用: http://www.cnblogs.com/finalanddistance/p/8960669.html
依赖注入的概念:
总结一点就是 底层类应该依赖于上层类,避免上层类依赖于底层类。
上代码:
首先先写几个需要用到的控制器;
demo3:
<?php namespace app\index\controller; class Demo3 { private $content = '我是demo3!!!'; public function text() { return $this -> content; } public function setText($string) { $this -> content = $string; } public function getName() { $name = '我是demo3的名字'; return $name; } }
demo2:
<?php namespace app\index\controller; class Demo2 { private $Demo3; public function __construct(Demo3 $demo) { $this -> Demo3 = $demo; } public function text() { return $this -> Demo3 -> text(); } public function getName() { return $this -> Demo3 -> getName(); } }
demo1:
<?php namespace app\index\controller; class Demo1 { private $Demo2; public function __construct(Demo2 $demo2) { $this -> Demo2 = $demo2; } public function text() { return $this -> Demo2 -> text(); } public function getName() { return $this -> Demo2 -> getName(); } }
然后是我们的使用方法:
一般的使用的方法是:
<?php namespace app\index\controller; class Demo { public function index() { $demo3 = new \app\index\controller\Demo3(); $demo2 = new \app\index\controller\Demo2($demo3); $demo1 = new \app\index\controller\Demo1($demo2); dump($demo1 -> text()); dump($demo1 -> getName()); } }
你看,是不是很麻烦,一个类依赖另外一个类,一个一个的实例化,麻烦的很,但是你用tp5.1里面的方法就不用理会这些了,tp框架自动帮你实例化!
tp5.1的使用方法:
<?php namespace app\index\controller; class Demo { public function index() { \think\Container::set('demo1' , '\app\index\controller\Demo1'); $demo1 = \think\Container::get('demo1'); dump($demo1 -> text()); dump($demo1 -> getName()); } }
这里的名称和使用区分大小写,请注意!!!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具