thinkphp5.1框架容器與依賴注入實(shí)例分析
本文實(shí)例講述了thinkphp5.1框架容器與依賴注入。分享給大家供大家參考,具體如下:
容器----/thinkphp/library/think/Container.php
依賴注入:將對(duì)象類型的數(shù)據(jù),以參數(shù)的方式傳到方法中(解決向類中的方法傳對(duì)象的問(wèn)題)
綁定一個(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ì)象注入問(wèn)題
- 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 使用pcntl和libevent 實(shí)現(xiàn)Timer功能
PHP 中實(shí)現(xiàn)Timer功能,中間使用到了php多線程,本文給出來(lái)pcntl的解釋。2013-10-10使用新浪微博API的OAuth認(rèn)證發(fā)布微博實(shí)例
這篇文章主要介紹了使用新浪微博API的OAuth認(rèn)證發(fā)布微博實(shí)例的相關(guān)資料,需要的朋友可以參考下2015-03-03PHP制作3D扇形統(tǒng)計(jì)圖以及對(duì)圖片進(jìn)行縮放操作實(shí)例
這篇文章主要介紹了PHP制作3D扇形統(tǒng)計(jì)圖以及對(duì)圖片進(jìn)行縮放操作實(shí)例,需要的朋友可以參考下2014-10-10yii插入數(shù)據(jù)庫(kù)防并發(fā)的簡(jiǎn)單代碼
這篇文章主要介紹了yii插入數(shù)據(jù)庫(kù)防并發(fā)的簡(jiǎn)單代碼,需要的朋友可以參考下2017-05-05