本文實(shí)例講述了thinkphp5.1框架容器與依賴注入。分享給大家供大家參考,具體如下:
容器----/thinkphp/library/think/Container.php
依賴注入:將對(duì)象類型的數(shù)據(jù),以參數(shù)的方式傳到方法中(解決向類中的方法傳對(duì)象的問題)
綁定一個(gè)類到容器:
public function bindClass()
{
//把一個(gè)類放到容器中:相當(dāng)于注冊(cè)到容器中
\think\Container::set('tmp(別名)','\app\common\Temp(實(shí)例)');
//助手函數(shù)bind();
bind('tmp(別名)','\app\common\Temp(實(shí)例)');
//將容器中的類實(shí)例化并取出來用:實(shí)例化的同時(shí)調(diào)用構(gòu)造器進(jìn)行初始化
$tmp = \think\Container::get('tmp',['name' => 'you']);
$tmp = app('tmp',['name' => 'you']);//助手函數(shù)
return $tmp->getName();
}
綁定一個(gè)閉包到容器:
public function bindClosure()
{
//把一個(gè)閉包放到容器中
\think\Container::set('demo',function($domain) {
return '域名:' . $domain;
});
//將容器中的閉包取出來用
return \think\Container::get('demo',['domain' => 'www.php.cn']);
}
更多關(guān)于thinkPHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《ThinkPHP入門教程》、《thinkPHP模板操作技巧總結(jié)》、《ThinkPHP常用方法總結(jié)》、《codeigniter入門教程》、《CI(CodeIgniter)框架進(jìn)階教程》、《Zend FrameWork框架入門教程》及《PHP模板技術(shù)總結(jié)》。
希望本文所述對(duì)大家基于ThinkPHP框架的PHP程序設(shè)計(jì)有所幫助。
您可能感興趣的文章:- 詳解php命令注入攻擊
- php使用exec shell命令注入的方法講解
- 淺析PHP反序列化中過濾函數(shù)使用不當(dāng)導(dǎo)致的對(duì)象注入問題
- PHP依賴注入容器知識(shí)點(diǎn)淺析
- PHP使用PDO實(shí)現(xiàn)mysql防注入功能詳解
- PHP防止sql注入小技巧之sql預(yù)處理原理與實(shí)現(xiàn)方法分析
- php+laravel依賴注入知識(shí)點(diǎn)總結(jié)
- php依賴注入知識(shí)點(diǎn)詳解
- php中的依賴注入實(shí)例詳解
- PHP進(jìn)階學(xué)習(xí)之依賴注入與Ioc容器詳解
- php反射學(xué)習(xí)之依賴注入示例
- CTF命令執(zhí)行及繞過技巧