本文实例讲述了thinkphp5.1框架容器与依赖注入。分享给大家供大家参考,具体如下:
容器----/thinkphp/library/think/Container.php
依赖注入:将对象类型的数据,以参数的方式传到方法中(解决向类中的方法传对象的问题)
绑定一个类到容器:
1
2
3
4
5
6
7
8
9
10
11
|
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(); } |
绑定一个闭包到容器:
1
2
3
4
5
6
7
8
9
|
public function bindClosure() { //把一个闭包放到容器中 \think\Container::set( 'demo' , function ( $domain ) { return '域名:' . $domain ; }); //将容器中的闭包取出来用 return \think\Container::get( 'demo' ,[ 'domain' => 'www.php.cn' ]); } |
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。
原文链接:https://blog.csdn.net/qq_42176520/article/details/90599157