thinkphp5.1框架容器与依赖注入实例分析
本文实例讲述了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相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。
相关推荐
-
thinkphp5.1 文件引入路径问题及注意事项
Thinkphp5.1 文件引入 1.视图文件中引入其他的视图文件 文件目录如下图: 需要实现在index.html中引入public文件夹下面的四个html模板文件,index.html引入代码如下: {include file="/public/_meta"} {include file="/public/_header"} {include file="/public/_menu"} <div>中间部分填写页面特有的内容<
-
thinkphp5 URL和路由的功能详解与实例
前面的话 本文将详细介绍thinkphp5URL和路由 URL访问 ThinkPHP采用单一入口模式访问应用,对应用的所有请求都定向到应用的入口文件,系统会从URL参数中解析当前请求的模块.控制器和操作,下面是一个标准的URL访问格式: http://domainName/index.php/模块/控制器/操作 其中index.php就称之为应用的入口文件(注意入口文件可以被隐藏,后面会提到) 模块在ThinkPHP中的概念其实就是应用目录下面的子目录,而官方的规范是目录名小写,因此模块全部采用
-
PHP连接SQL Server的方法分析【基于thinkPHP5.1框架】
本文实例讲述了PHP连接SQL Server的方法.分享给大家供大家参考,具体如下: 之前我们实现了用thinkPHP5.1框架搭配的项目,实现了thinkPHP5.1与本机sql server 2008 R2的连接,并且把数据内容显示在页面上. 本机的使用工具:1.编译工具PhpStorm 2.WampServer 集成工具(Apache 2.4.33:PHP 7.0.29) 在连接过程中,有两种方法可以连接. 第一种(用到ThinkPHP框架的,配置微软自带的驱动): 先把tp5的项目放在w
-
ThinkPHP5查询数据及处理结果的方法小结
本文实例讲述了ThinkPHP5查询数据及处理结果的方法.分享给大家供大家参考,具体如下: 在处理数据库查询结果时遇到了些问题,记录下用到过的几种查询方式和结果处理. 1. 查询某条记录 $where=array( "version_id"=>$version_id ); $data = model("PackageWhitelist")->where($where)->find(); $this->assign("package_
-
PHP利用pdo_odbc实现连接数据库示例【基于ThinkPHP5.1搭建的项目】
本文实例讲述了PHP利用pdo_odbc实现连接数据库.分享给大家供大家参考,具体如下: 目的:从sql server数据库里面把某个视图文件调用出来,以键值对的方式显示在页面上. 利用pdo odbc来实现PHP连接数据库: 在PHP配置文件里面开启pdo_odbc.dll服务.重启Apache服务器. 在ThinkPHP5.1的项目中在模块里添加config添加规定好的样式数据库: 代码如下: <?php return [ // 数据库类型 'type' => 'sqlsrv', // 服
-
ThinkPHP5.1框架页面跳转及修改跳转页面模版示例
本文实例讲述了ThinkPHP5.1框架页面跳转及修改跳转页面模版.分享给大家供大家参考,具体如下: 对应的控制器 创建对应的HTML 比如: admin(模块)/lpp(控制器)/index(方法) 对应的html文件: view->lpp->index.html 1.index.html布局 <form action="{:url('bbc')}" method="post"> <h3>用户登录界面</h3> &l
-
ThinkPHP5.1表单令牌Token失效问题的解决
前言 ThinkPHP出于安全的考虑增加了表单令牌Token,由于通过Ajax异步更新数据仅仅部分页面刷新数据,就导致了令牌Token不能得到更新,紧接着的第二次新建或更新数据(提交表单时)失败--不能通过令牌的验证. 当然了,最简单的办法就是刷新整个页面,就导致了异步刷新的无意义!在网上搜寻了很多,有好几种方法:看完觉得有一个最好: Ajax异步动态请求创建新令牌并更新到本地 主要思路:在每次发送表单结束后(不管成功与否)通过Ajax异步请求一个新的表单令牌并保存到表单隐藏域中,下次提交表单就
-
thinkPHP5实现的查询数据库并返回json数据实例
本文实例讲述了thinkPHP5实现的查询数据库并返回json数据.分享给大家供大家参考,具体如下: TP5 实现查询数据库返回json数据(返回json数据函数实例) 返回结果: 复制代码 代码如下: {"code":0,"msg":"\u6570\u636e\u8fd4\u56de\u6210\u529f","count":1000,"data":[{"id":617,"t
-
thinkphp5.1框架模板布局与模板继承用法分析
本文实例讲述了thinkphp5.1框架模板布局与模板继承.分享给大家供大家参考,具体如下: 模板全局配置 配置文件template.php添加 //开启全局模板布局 'layout_on' => true, //全局模板布局文件名 'layout_name' => 'layout' 模板布局 控制器中新建模板文件(application\index\controller\Demo\---test方法) 新建视图文件(application\index\demo\test.html) 模板入口
-
PHP7使用ODBC连接SQL Server2008 R2数据库示例【基于thinkPHP5.1框架】
本文实例讲述了PHP7使用ODBC连接SQL Server2008 R2数据库.分享给大家供大家参考,具体如下: 我用的是:WampServer集成工具,PHP版本为7.0.29,数据库为SQL Server 2008 R2: 注意:在连接数据库时,需要进入X:\wamp\bin\apache\apache2.4.33\bin目录下的PHP配置文件:PHP.ini.进入里面修改相关配置.配置如下: extension=php_odbc.dll 把前面冒号去掉开启服务 并且 重启下WampServ
-
thinkPHP5.1框架路由::get、post请求简单用法示例
本文实例讲述了thinkPHP5.1框架路由::get.post请求简单用法.分享给大家供大家参考,具体如下: 1.在index模块下的控制器index里面建立一个type方法 public function type(){ var_dump(input()); echo '我是测试类型'; return view(); } 2.在index模块下新建view视图建立index文件夹创建type.html页面 <!DOCTYPE html> <html lang="en&quo
随机推荐
- asp使用Weekday函数计算项目的结束时间
- jQuery实现浮动层随浏览器滚动条滚动的方法
- vbs 调用中文语音让你电脑听你的命令的实现代码
- 同一台服务器(电脑)运行多个Tomcat的设置方法步骤
- C# Math.Round()函数问题
- 解读JavaScript中 For, While与递归的用法
- Ajax解决缓存的5种方法总结(推荐)
- 详解免费开源的DotNet任务调度组件Quartz.NET(.NET组件介绍之五)
- php控制linux服务器常用功能 关机 重启 开新站点等
- php示例详解Constructor Prototype Pattern 原型模式
- MySQL服务器连接过程浅析
- PHP 常用时间函数资料整理
- 基于构造函数的五种继承方法小结
- Python实现的数据结构与算法之快速排序详解
- Question:基于C#连续赋值的面试题介绍
- SQLserver安装时要求CDKEY的解决办法
- 基于JQUERY的多级联动代码
- 遍历json 对象的属性并且动态添加属性的实现
- js同比例缩放图片的小例子
- Node.js事件驱动