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


Posted in PHP onJuly 23, 2019

本文实例讲述了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 相关文章推荐
用PHP制作静态网站的模板框架(一)
Oct 09 PHP
傻瓜化配置PHP环境――Appserv
Dec 13 PHP
php读取msn上的用户信息类
Dec 05 PHP
ThinkPHP中实例Model方法的区别说明
Aug 21 PHP
遍历指定目录下的所有目录和文件的php代码
Nov 27 PHP
用PHP实现浏览器点击下载TXT文档的方法详解
Jun 02 PHP
PHP 转义使用详解
Jul 15 PHP
php数组合并的二种方法
Mar 21 PHP
PHP集成百度Ueditor 1.4.3
Nov 23 PHP
yii2框架中使用下拉菜单的自动搜索yii-widget-select2实例分析
Jan 09 PHP
php获取数据库结果集方法(推荐)
Jun 01 PHP
Laravel中获取路由参数Route Parameters的五种方法示例
Sep 29 PHP
Thinkphp5 自定义上传文件名的实现方法
Jul 23 #PHP
PHP中__set()实例用法和基础讲解
Jul 23 #PHP
PHP大文件分块上传功能实例详解
Jul 22 #PHP
PHP商品秒杀问题解决方案实例详解【mysql与redis】
Jul 22 #PHP
php多进程应用场景实例详解
Jul 22 #PHP
PHP实现的多进程控制demo示例
Jul 22 #PHP
php+lottery.js实现九宫格抽奖功能
Jul 21 #PHP
You might like
杏林同学录(三)
2006/10/09 PHP
PHP4实际应用经验篇(2)
2006/10/09 PHP
php解析url并得到url中的参数及获取url参数的四种方式
2015/10/26 PHP
Smarty模板引擎缓存机制详解
2016/05/23 PHP
PHP弱类型的安全问题详细总结
2016/09/25 PHP
PHP CURL采集百度搜寻结果图片不显示问题的解决方法
2017/02/03 PHP
PHP实现在对象之外访问其私有属性private及保护属性protected的方法
2017/11/20 PHP
Javascript面向对象设计一 工厂模式
2011/12/20 Javascript
jquery的ajax请求全面了解
2013/03/20 Javascript
5秒后跳转效果(setInterval/SetTimeOut)
2013/05/03 Javascript
JS中如何设置readOnly的值
2013/12/25 Javascript
JS实现的简洁纵向滑动菜单(滑动门)效果
2015/10/19 Javascript
javascript 继承学习心得总结
2016/03/17 Javascript
在微信、支付宝、百度钱包实现点击返回按钮关闭当前页面和窗口的方法
2016/08/05 Javascript
微信小程序 框架详解及实例应用
2016/09/26 Javascript
jQuery插件zTree实现删除树节点的方法示例
2017/03/08 Javascript
jQuery实现动态给table赋值的方法示例
2017/07/04 jQuery
详解基于node的前端项目编译时内存溢出问题
2017/08/01 Javascript
详解在HTTPS 项目中使用百度地图 API
2019/04/26 Javascript
一篇文章弄懂javascript中的执行栈与执行上下文
2019/08/09 Javascript
js实现验证码干扰(静态)
2021/02/22 Javascript
Python的Bottle框架中返回静态文件和JSON对象的方法
2015/04/30 Python
python递归法解决棋盘分割问题
2019/07/17 Python
Pytorch实现LSTM和GRU示例
2020/01/14 Python
Django高并发负载均衡实现原理详解
2020/04/04 Python
浅谈Python中的继承
2020/06/19 Python
详解HTML5 canvas绘图基本使用方法
2018/01/29 HTML / CSS
自荐信格式的六要素
2013/09/21 职场文书
自荐信的禁忌和要点
2013/10/15 职场文书
幼儿园长自我鉴定
2013/10/17 职场文书
专科毕业生就业推荐信
2013/11/01 职场文书
教师个人自我鉴定
2014/02/08 职场文书
市场营销调查计划书
2014/05/02 职场文书
医院消毒隔离制度
2015/08/05 职场文书
周一给客户的问候语
2015/11/10 职场文书
SQL Server删除表中的重复数据
2022/05/25 SQL Server