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 相关文章推荐
批量修改RAR文件注释的php代码
Nov 20 PHP
深入Memcache的Session数据的多服务器共享详解
Jun 13 PHP
php 模拟POST提交的2种方法详解
Jun 17 PHP
PHP中UNIX时间戳和日期间的转换与计算实例
Nov 19 PHP
thinkphp使用literal防止模板标签被解析的方法
Nov 22 PHP
php简单获取文件扩展名的方法
Mar 24 PHP
PHP 读取文本文件内容并分页显示
Jan 02 PHP
利用PHP抓取百度阅读的方法示例
Dec 18 PHP
PHPExcel在linux环境下导出报500错误的解决方法
Jan 26 PHP
PHP堆栈调试操作简单示例
Jun 15 PHP
Django 标签筛选的实现代码(一对多、多对多)
Sep 05 PHP
PHP mkdir创建文件夹实现方法解析
Nov 13 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
PHP图片处理之图片背景、画布操作
2014/11/19 PHP
PHP中preg_match正则匹配中的/u、/i、/s含义
2015/04/17 PHP
Thinkphp5框架异常处理操作实例分析
2020/06/03 PHP
解密效果
2006/06/23 Javascript
JQuery处理json与ajax返回JSON实例代码
2014/01/03 Javascript
jquery $.trim()方法使用介绍
2014/05/21 Javascript
js事件监听机制(事件捕获)总结
2014/08/08 Javascript
ECMAScript 6即将带给我们新的数组操作方法前瞻
2015/01/06 Javascript
微信企业号开发之微信考勤Cookies的使用
2015/09/11 Javascript
js实现常用排序算法
2016/08/09 Javascript
React实现双向绑定示例代码
2016/09/19 Javascript
vue.js+boostrap项目实践(案例详解)
2016/09/21 Javascript
javascript实现获取图片大小及图片等比缩放的方法
2016/11/24 Javascript
理解 javascript 中的函数表达式与函数声明
2017/07/07 Javascript
在React中如何优雅的处理事件响应详解
2017/07/24 Javascript
VUE中setTimeout和setInterval自动销毁案例
2020/09/07 Javascript
openlayers实现图标拖动获取坐标
2020/09/25 Javascript
使用python将mdb数据库文件导入postgresql数据库示例
2014/02/17 Python
如何搜索查找并解决Django相关的问题
2014/06/30 Python
Python使用CMD模块更优雅的运行脚本
2015/05/11 Python
Python lambda表达式用法实例分析
2018/12/25 Python
使用Python-OpenCV向图片添加噪声的实现(高斯噪声、椒盐噪声)
2019/05/28 Python
django最快程序开发流程详解
2019/07/19 Python
浅谈tensorflow中Dataset图片的批量读取及维度的操作详解
2020/01/20 Python
CSS3 仿微信聊天小气泡实例代码
2017/04/05 HTML / CSS
大学生自我评价范文分享
2014/02/21 职场文书
《王二小》教学反思
2014/02/27 职场文书
超市促销活动方案
2014/03/05 职场文书
报纸媒体创意广告词
2014/03/17 职场文书
物业总经理助理岗位职责
2014/06/29 职场文书
见义勇为事迹材料
2014/12/24 职场文书
《海上日出》教学反思
2016/02/23 职场文书
八年级作文之一起的走过日子
2019/09/17 职场文书
浅谈自定义校验注解ConstraintValidator
2021/06/30 Java/Android
MYSQL 表的全面总结
2021/11/11 MySQL
JavaScript设计模式之原型模式详情
2022/06/21 Javascript