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