依赖注入,你可以分开理解。拆成,依赖和注入

依赖:就是你现在要用 request 对象的get 方法,所有你必须要先能得到request对象,然后才能使用这个方法。这个就是依赖。

注入:怎么得到request 对象呢?一种是你直接 $request =new Request() 可以得到,这种也称为主动获取,还有一种就是把整个对象当做一个参数传进来,类型你这样的写法,然后去使用。这个就是依赖注入,控制反转(IOC)

一般的做法是会在 construct 方法里面直接注入,后面需要的去使用它。

现在的框架设计思想大多会怎么写,可以提高框架的性能,因为只要使用的时候才会实例化。

trait 的使用一般是为了解决多继承问题.

不是相当于在类A中使用类B里的方法吗? 有多种实现方式, 最常见的先引入, 实例化, 再调用.

是这么理解的,依赖注入也只是一种实现方式。

依赖注入这种方式,可以利用懒加载,使用的时候才会实例化。

public function getReqInfo(Request $request){

代码

}

这样写的话,表示我可以使用 Request 对象的方法,如果我还要使用其它的,可以继续往里加。

public function getReqInfo(Request $request, Response $response){

代码

}

如果你还不清楚的话,可以去看看laravel 官网里面,关于依赖注入的文档

php 注入是什么意思,如何理解ThinkPHP框架里的依赖注入?相关推荐

  1. php 依赖注入框架,通过实现依赖注入和路由,构建一个自己的现代化PHP框架

    如何提高自己编写代码的能力呢?我们首先想到的是阅读学习优秀的开源项目,然后写一个自己的web框架或类库组件.作为web开发者,我们通常都是基于面向对象OOP来开发的,所以面向对象的设计能力或者说设计模 ...

  2. 【 .NET Core 3.0 】框架之九 || 依赖注入 与 IoC

    本文有配套视频:https://www.bilibili.com/video/av58096866/?p=5 前言 1.重要:如果你实现了解耦,也就是 api 层只引用了 IService 和 IRe ...

  3. php 框架 容器,thinkphp5.1框架容器与依赖注入实例分析

    本文实例讲述了thinkphp5.1框架容器与依赖注入.分享给大家供大家参考,具体如下: 容器----/thinkphp/library/think/Container.php 依赖注入:将对象类型的 ...

  4. 依赖注入的三种方式_Spring IoC是如何进行依赖注入的

    依赖注入(DI) DI(Dependency Injection),Spring IoC 不是一种技术,而是一种思想,通过这种思想,能够指导我们设计出松耦合的程序代码.而Spring IoC这个思想的 ...

  5. 从壹开始前后端分离【 .NET Core2.2 +Vue2.0 】框架之九 || 依赖注入IoC学习 + AOP界面编程初探...

    更新 1.如果看不懂本文,或者比较困难,先别着急问问题,我单写了一个关于依赖注入的小Demo,可以下载看看,多思考思考注入的原理: https://github.com/anjoy8/BlogArti ...

  6. ASP.NET Core如何在ActionFilterAttribute里做依赖注入

    点击蓝字 关注我 在ASP.NET Core里,我们可以使用构造函数注入很方便地对Controller,ViewComponent等部件做依赖注入.但是如何给过滤器ActionFilterAttrib ...

  7. Spring框架----Spring的依赖注入

    1.spring的依赖注入的概念 依赖注入:dependency Injection IOC的作用:降低程序之间的依赖关系,但不是消除. 依赖关系的管理:以后都交给了spring来维护 在当前类中需要 ...

  8. 依赖注入有点_12.24 (Core管道amp;中间件amp;依赖注入+琐碎笔记)

    ​emmmm,其实本来想发服务器部署那一篇的笔记的,可奈何折腾了好多天的linux,部署还是有一小丢丢不完美(我还是想完美一些)所以,今天先把core的这篇主线给更新了. NET Core 管道机制( ...

  9. phalapi可以依赖注入么_[7.8]-phalapi-进阶篇2(DI依赖注入和单例模式) | PhalApi(π框架) - PHP轻量级开源接口框架...

    phalapi-进阶篇2(DI依赖注入和单例模式) 前言 先在这里感谢phalapi框架创始人@dogstar,为我们提供了这样一个优秀的开源框架. 离上一次更新过去了快两周,在其中编写了一个关于DB ...

最新文章

  1. SQLite 版本引发的 Python 程序调用问题
  2. c 全局变量多线程调用_c语言局部变量 静态局部变量 全局变量与静态全局变量...
  3. Shiro安全框架【快速入门】就这一篇!
  4. WinAPI: Pie - 绘制饼图
  5. 李爽久:平安云如何解决金融同业互联专线痛点
  6. SAP 电商云 Spartacus UI ComponentDataProvider defer 工厂函数
  7. [翻译] ASP.NET Core 3.0 的新增功能
  8. mysql semisync 恢复_mysql半同步复制(semi_sync_replication)搭建及使用
  9. linux 2.6.35 内核配置 usb,Linux 2.6.24.4移植到S3C2410(nano2410)之:USB
  10. nmap中文使用手册
  11. matlab2c使用c++实现matlab函数系列教程-linspace函数
  12. C语言相关问题(1)
  13. Mac字体安装的方法?Mac怎么安装新字体?Mac字体安装教程
  14. SQL连接查询语句(内、外、交叉和合并查询)
  15. 赚了20亿美元GandCrab勒索病毒家族的故事
  16. Guns二次开发(十四):集成 ueditor 富文本编辑器
  17. 【一起学Rust | 进阶篇 | Service Manager库】Rust专用跨平台服务管理库
  18. STP生成树/BPDU保护小实验
  19. 你都为美白缴过哪些智商税? | Alfred数据室
  20. Exception 异常和自定义异常

热门文章

  1. arrays合并两个数组_每天一道力扣题: 88. 合并两个有序数组
  2. c语言深度解剖 pdf,c语言深度解剖(解密).pdf.pdf
  3. Spring Boot 之 itext导出pdf下载
  4. 如果表不存在则创建_当创建一个文件的时候,操作系统发生了什么
  5. 小网站asp好还是php好,网站程序是asp好还是php好,哪个更利于优化?
  6. C语言程序设计与有限元,C语言与有限元程序设计.pdf
  7. 电路结构原理_精密半波、全波整流电路结构原理图解
  8. Leedcode1-求树的最小高度
  9. 初识python多线程
  10. echarts.js:1136 Uncaught Error: Initialize failed: invalid dom.