實(shí)現(xiàn)類:
?phphtml' target='_blank'>class Container protected $setings = array(); public function set($abstract, $concrete = null) if ($concrete === null) { $concrete = $abstract; $this- setings[$abstract] = $concrete; public function get($abstract, $parameters = array()) if (!isset($this- setings[$abstract])) { return null; return $this- build($this- setings[$abstract], $parameters); public function build($concrete, $parameters) if ($concrete instanceof Closure) { return $concrete($this, $parameters); $reflector = new ReflectionClass($concrete); if (!$reflector- isInstantiable()) { throw new Exception( Class {$concrete} is not instantiable $constructor = $reflector- getConstructor(); if (is_null($constructor)) { return $reflector- newInstance(); $parameters = $constructor- getParameters(); $dependencies = $this- getDependencies($parameters); return $reflector- newInstanceArgs($dependencies); public function getDependencies($parameters) $dependencies = array(); foreach ($parameters as $parameter) { $dependency = $parameter- getClass(); if ($dependency === null) { if ($parameter- isDefaultValueAvailable()) { $dependencies[] = $parameter- getDefaultValue(); } else { throw new Exception( Can not be resolve class dependency {$parameter- name} } else { $dependencies[] = $this- get($dependency- name); return $dependencies;}
實(shí)現(xiàn)實(shí)例:
?phprequire container.php
獨(dú)孤九賤(5)_ThinkPHP5視頻教程ThinkPHP是國內(nèi)最流行的中文PHP開發(fā)框架,也是您Web項(xiàng)目的最佳選擇?!禫eVb.com獨(dú)孤九賤(5)-ThinkPHP5視頻教程》課程以ThinkPHP5最新版本為例,從最基本的框架常識(shí)開始,將...
Peter-Zhu 2017-05-16 12:03:57
獨(dú)孤九賤(4)_PHP視頻教程江湖傳言:PHP是世界上最好的編程語言。真的是這樣嗎?這個(gè)梗究竟是從哪來的?學(xué)會(huì)本課程,你就會(huì)明白了。PHP 出品的PHP入門系統(tǒng)教學(xué)視頻,完全從初學(xué)者的角度出發(fā),絕不玩虛的,一切以實(shí)用、有用...
Peter-Zhu 2017-03-20 22:47:17
獨(dú)孤九賤(1)_HTML5視頻教程《VeVb.com原創(chuàng)html5視頻教程》課程特色:php 原創(chuàng)幽默段子系列課程,以惡搞,段子為主題風(fēng)格的php視頻教程!輕松的教學(xué)風(fēng)格,簡短的教學(xué)模式,讓同學(xué)們在不知不覺中,學(xué)會(huì)了HTML知識(shí)。...
Peter-Zhu 2017-03-13 10:15:11
ThinkPHP5實(shí)戰(zhàn)之[教學(xué)管理系統(tǒng)]本套教程,以一個(gè)真實(shí)的學(xué)校教學(xué)管理系統(tǒng)為案例,手把手教會(huì)您如何在一張白紙上,從零開始,一步一步的用ThinkPHP5框架快速開發(fā)出一個(gè)商業(yè)項(xiàng)目。
Peter-Zhu 2017-07-24 16:48:56
PHP入門視頻教程之一周學(xué)會(huì)PHP所有計(jì)算機(jī)語言的學(xué)習(xí)都要從基礎(chǔ)開始,《PHP入門視頻教程之一周學(xué)會(huì)PHP》不僅是PHP的基礎(chǔ)部分更主要的是PHP語言的核心技術(shù),是學(xué)習(xí)PHP必須掌握的內(nèi)容,任何PHP項(xiàng)目的實(shí)現(xiàn)都離不開這部分的內(nèi)容,通...
PHP教程鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。
|
新聞熱點(diǎn)
疑難解答
圖片精選