本文实例讲述了thinkphp5.1框架容器与依赖注入。分享给大家供大家参考,具体如下:

容器----/thinkphp/library/think/Container.php

依赖注入:将对象类型的数据,以参数的方式传到方法中(解决向类中的方法传对象的问题)

绑定一个类到容器:

public function bindClass()

{

//把一个类放到容器中:相当于注册到容器中

\think\Container::set('tmp(别名)','\app\common\Temp(实例)');

//助手函数bind();

bind('tmp(别名)','\app\common\Temp(实例)');

//将容器中的类实例化并取出来用:实例化的同时调用构造器进行初始化

$tmp = \think\Container::get('tmp',['name' => 'you']);

$tmp = app('tmp',['name' => 'you']);//助手函数

return $tmp->getName();

}

绑定一个闭包到容器:

public function bindClosure()

{

//把一个闭包放到容器中

\think\Container::set('demo',function($domain) {

return '域名:' . $domain;

});

//将容器中的闭包取出来用

return \think\Container::get('demo',['domain' => 'www.php.cn']);

}

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

php 框架 容器,thinkphp5.1框架容器与依赖注入实例分析相关推荐

  1. Spring_01 spring容器、控制反转(IOC)、依赖注入(DI)

    目录 1 什么是spring框架 2 spring框架的特点 3 spring容器 3.1 什么是spring容器 3.2 spring容器创建对象的编程步骤 3.4 spring容器创建对象的方式 ...

  2. [IoC容器Unity]第三回:依赖注入

    上节介绍了,Unity的Lifetime Managers生命周期,Unity具体实现依赖注入包含构造函数注入.属性注入.方法注入,所谓注入相当赋值,下面一个一个来介绍. 2.构造函数注入 Unity ...

  3. java 注入日志_java框架学习日志-5(常见的依赖注入)

    依赖注入(dependency injection) 之前提到控制反转(Inversion of Control)也叫依赖注入,它们其实是一个东西,只是看的角度不同,这章详细说一下依赖注入. 依赖-- ...

  4. php行为和事件是什么,Yii Framework框架中事件和行为的区别及应用实例分析

    本文实例讲述了Yii Framework框架中事件和行为的区别及应用.分享给大家供大家参考,具体如下: 个人觉得,在 Yii 里面,最难以明白的就是事件(Event)和行为(behavior)了.这不 ...

  5. 企业级应用框架(五)IOC容器在框架中的应用

    前言 在上一篇我大致的介绍了这个系列所涉及到的知识点,在本篇我打算把IOC这一块单独提取出来讲,因为IOC容器在解除框架层与层之间的耦合有着不可磨灭的作用.当然在本系列前面的三篇中我也提供了一种基于反 ...

  6. 开源商城WSTMart升级thinkphp5.1框架实践

    thinkhp5.0日趋稳定之后,thinkphp官方又马不停蹄的开展了5.1版本的更新迭代.作为技术人,一向是喜欢尝新,既然5.1出来了,赶紧入手了解了解下. 首先打开文档看看开发目录有没有变化,希 ...

  7. asp.net core自定义依赖注入容器,替换自带容器

    依赖注入 在asp.net core程序中,众所周知,依赖注入基本上贯穿了整个项目,以通用的结构来讲解,控制器层(Controller层)依赖业务层(Service层),业务层依赖于仓储层(Repos ...

  8. [ASP.NET Core 3框架揭秘] 依赖注入:依赖注入模式

    IoC主要体现了这样一种设计思想:通过将一组通用流程的控制权从应用转移到框架之中以实现对流程的复用,并按照"好莱坞法则"实现应用程序的代码与框架之间的交互.我们可以采用若干设计模式 ...

  9. php ioc容器,PHP 在Swoole中使用双IoC容器实现无污染的依赖注入

    容器(container)技术(可以理解为全局的工厂方法), 已经是现代项目的标配. 基于容器, 可以进一步实现控制反转, 依赖注入. Laravel 的巨大成功就是构建在它非常强大的IoC容器 il ...

最新文章

  1. Duktape:一个新的小巧的超精简可嵌入式JavaScript引擎
  2. [erlang]proc_lib源码浅析
  3. C++sort如何使用lambda表达式对一维vector和二维vector进行排序
  4. 技术实践第三期|HashTag在Redis集群环境下的使用
  5. life game c语言,c++生命游戏源码
  6. 对 比 学 习 小 综 述
  7. rabbitmq的通配符模式(Topic Exchange)的*和#区别
  8. 读书笔记_中国期货市场量化交易(李尉)05
  9. js生成批次号_【管理】MES系统中的批次管理
  10. ezd激光雕刻机软件使用笔记。
  11. 用C 语言实现斐波那契数列
  12. 别踩白块儿java代码_Javascript别踩白块儿(钢琴块儿)小游戏实现代码
  13. Android完美解决监听home键
  14. Flutter Sliver滚动组件
  15. MySQL字段根据逗号隔开查询
  16. 嵌入式linux界面开发,基于嵌入式Linux平台实现GUI系统的设计方案
  17. 【python与数据分析】实验八——图像批量添加数字水印及实现模拟转盘抽奖游戏
  18. 信道与多径效应基础知识总结
  19. Resharper使用
  20. 【智能优化】禁忌搜索算法(Matlab代码实现)

热门文章

  1. 初窥Javascript单元测试,附带掌握一门新技能的学习方式。
  2. cisco hsrp备份小实验
  3. [转]写一个块设备驱动(第一章)
  4. 用户空间与内核空间数据交换的方式(2)------procfs
  5. 解决方案-Visual Studio生成库(DLLLIB)以及如何调用
  6. C#设计模式学习(类型对象模式)
  7. python工业互联网应用实战13—基于selenium的功能测试
  8. 字体选择_Word文档中的字体批量选择与更改,查找替换功能必杀技
  9. dat图片 电脑端微信_微信 PC 版迎来了重磅更新,可以在电脑端使用小程序了 !...
  10. 自动化测试pytest测试框架实例