實現類:
?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;}
實現實例:
?phprequire container.php
獨孤九賤(5)_ThinkPHP5視頻教程ThinkPHP是國內最流行的中文PHP開發框架,也是您Web項目的最佳選擇?!禫eVb.com獨孤九賤(5)-ThinkPHP5視頻教程》課程以ThinkPHP5最新版本為例,從最基本的框架常識開始,將...
Peter-Zhu 2017-05-16 12:03:57
獨孤九賤(4)_PHP視頻教程江湖傳言:PHP是世界上最好的編程語言。真的是這樣嗎?這個梗究竟是從哪來的?學會本課程,你就會明白了。PHP 出品的PHP入門系統教學視頻,完全從初學者的角度出發,絕不玩虛的,一切以實用、有用...
Peter-Zhu 2017-03-20 22:47:17
獨孤九賤(1)_HTML5視頻教程《VeVb.com原創html5視頻教程》課程特色:php 原創幽默段子系列課程,以惡搞,段子為主題風格的php視頻教程!輕松的教學風格,簡短的教學模式,讓同學們在不知不覺中,學會了HTML知識。...
Peter-Zhu 2017-03-13 10:15:11
ThinkPHP5實戰之[教學管理系統]本套教程,以一個真實的學校教學管理系統為案例,手把手教會您如何在一張白紙上,從零開始,一步一步的用ThinkPHP5框架快速開發出一個商業項目。
Peter-Zhu 2017-07-24 16:48:56
PHP入門視頻教程之一周學會PHP所有計算機語言的學習都要從基礎開始,《PHP入門視頻教程之一周學會PHP》不僅是PHP的基礎部分更主要的是PHP語言的核心技術,是學習PHP必須掌握的內容,任何PHP項目的實現都離不開這部分的內容,通...
PHP教程鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答