thinkphp5.1框架容器與依賴注入實(shí)例分析
本文實(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í)例化并取出來(lái)用:實(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;
});
//將容器中的閉包取出來(lái)用
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反序列化中過(guò)濾函數(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í)行及繞過(guò)技巧
相關(guān)文章
詳解php中serialize()和unserialize()函數(shù)
這篇文章主要介紹了php的serialize()函數(shù)和unserialize()函數(shù)的相關(guān)資料,需要的朋友可以參考下2017-07-07
在Laravel中實(shí)現(xiàn)使用AJAX動(dòng)態(tài)刷新部分頁(yè)面
今天小編就為大家分享一篇在Laravel中實(shí)現(xiàn)使用AJAX動(dòng)態(tài)刷新部分頁(yè)面,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-10-10
在laravel中使用with實(shí)現(xiàn)動(dòng)態(tài)添加where條件
今天小編就為大家分享一篇在laravel中使用with實(shí)現(xiàn)動(dòng)態(tài)添加where條件,具有好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-10-10
yii框架redis結(jié)合php實(shí)現(xiàn)秒殺效果(實(shí)例代碼)
這篇文章主要介紹了yii框架redis結(jié)合php實(shí)現(xiàn)秒殺效果,非常不錯(cuò),代碼簡(jiǎn)單易懂,需要的朋友可以參考下2017-10-10
PHP如何將數(shù)據(jù)庫(kù)查詢結(jié)果輸出為json格式
JSON數(shù)據(jù)格式相比xml的解析難度較低,配合Ajax技術(shù)的使用使得前端獲取數(shù)據(jù),呈現(xiàn)數(shù)據(jù)非常方便,所以下面這篇文章主要給大家介紹了關(guān)于PHP如何將數(shù)據(jù)庫(kù)查詢結(jié)果輸出為json格式的相關(guān)資料,需要的朋友可以參考下2022-02-02
laravel 使用事件系統(tǒng)統(tǒng)計(jì)瀏覽量的實(shí)現(xiàn)
今天小編就為大家分享一篇laravel 使用事件系統(tǒng)統(tǒng)計(jì)瀏覽量的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-10-10
淺談使用 PHP 進(jìn)行手機(jī) APP 開發(fā)(API 接口開發(fā))
做過(guò) API 的人應(yīng)該了解,其實(shí)開發(fā) API 比開發(fā) WEB 更簡(jiǎn)潔,但可能邏輯更復(fù)雜,因?yàn)?API 其實(shí)就是數(shù)據(jù)輸出,不用呈現(xiàn)頁(yè)面,所以也就不存在 MVC(API 只有 M 和 C),那么我們來(lái)探討下,如何使用php進(jìn)行手機(jī)API接口開發(fā)2014-08-08

