Changeset 821
- Timestamp:
- 08/14/07 19:56:15 (1 year ago)
- Files:
-
- trunk/experiments/people/schst/ioc/singleton-annotation.php (added)
- trunk/src/main/php/net/stubbles/ioc/injection/annotations/stubSingletonAnnotation.php (added)
- trunk/src/main/php/net/stubbles/ioc/injection/stubBinder.php (modified) (1 diff)
- trunk/src/main/php/net/stubbles/ioc/injection/stubBinding.php (modified) (2 diffs)
- trunk/src/main/php/net/stubbles/ioc/injection/stubBindingScopeSingleton.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/src/main/php/net/stubbles/ioc/injection/stubBinder.php
r820 r821 17 17 'net.stubbles.ioc.injection.stubInjector', 18 18 'net.stubbles.ioc.injection.stubBindingScope', 19 'net.stubbles.ioc.injection.stubBindingScopes', 19 20 'net.stubbles.ioc.injection.annotations.stubInjectAnnotation', 21 'net.stubbles.ioc.injection.annotations.stubSingletonAnnotation', 20 22 'net.stubbles.ioc.injection.annotations.stubImplementedByAnnotation'); 21 23 /** trunk/src/main/php/net/stubbles/ioc/injection/stubBinding.php
r819 r821 99 99 100 100 /** 101 * Create an instance101 * Get the instance for this binding 102 102 * 103 103 * @return object 104 * @todo Decide, where to put this functionality105 104 */ 106 105 public function getInstance() { … … 109 108 } 110 109 110 if ($this->scope === null) { 111 if ($this->impl->hasAnnotation('Singleton')) { 112 $this->scope = stubBindingScopes::$SINGLETON; 113 } 114 } 115 116 if ($this->scope != null) { 117 return $this->scope->getInstance($this->key, $this); 118 } 119 return $this->create(); 120 121 } 122 123 /** 124 * Create an instance 125 * 126 * @return object 127 * @todo Decide, where to put this functionality 128 */ 129 public function create() { 111 130 $constructor = $this->impl->getConstructor(); 112 131 if ($constructor === null) { trunk/src/main/php/net/stubbles/ioc/injection/stubBindingScopeSingleton.php
r810 r821 37 37 public function getInstance($key, stubBinding $binding) { 38 38 if (!isset($this->instances[$key])) { 39 $this->instances[$key] = $binding-> getInstance();39 $this->instances[$key] = $binding->create(); 40 40 } 41 41 return $this->instances[$key];
