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

