Changeset 2521
- Timestamp:
- 03/10/10 19:10:20 (5 months ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
framework/trunk/src/main/php/net/stubbles/ioc/stubApp.php
r2237 r2521 58 58 public static function createInstance($fqClassName, $projectPath, array $argv = null) 59 59 { 60 return self::createInjectorWithBindings(self::getBindingsForClass($fqClassName, $projectPath, $argv)) 61 ->getInstance($fqClassName); 62 } 63 64 /** 65 * creates list of bindings from given class 66 * 67 * @param string $fqClassName full qualified class name of class to create an instance of 68 * @param string $projectPath path to project 69 * @param array<string> $argv optional list of arguments 70 * @return array<string|stubBindingModule> 71 */ 72 public static function getBindingsForClass($fqClassName, $projectPath, array $argv = null) 73 { 60 74 $nqClassName = stubClassLoader::getNonQualifiedClassName($fqClassName); 61 75 if (class_exists($nqClassName, false) === false) { 62 76 stubClassLoader::load($fqClassName); 63 77 } 64 78 65 79 $bindings = array(); 66 80 if (method_exists($nqClassName, '__bindings') === true) { 67 81 $bindings = call_user_func_array(array($nqClassName, '__bindings'), array($projectPath)); 68 82 } 69 83 70 84 if (null !== $argv) { 71 85 $bindings[] = new stubArgumentsBindingModule($argv); 72 86 } 73 74 return self::createInjectorWithBindings($bindings) 75 ->getInstance($fqClassName); 87 88 return $bindings; 76 89 } 77 90 … … 85 98 * @throws stubIllegalArgumentException 86 99 */ 87 p rotectedstatic function createInjectorWithBindings(array $bindingModules)100 public static function createInjectorWithBindings(array $bindingModules) 88 101 { 89 102 // use the binder registry for backward compatibility
