| @@ 66-82 (lines=17) @@ | ||
| 63 | * |
|
| 64 | * @return mixed created service |
|
| 65 | */ |
|
| 66 | private function createService($name) |
|
| 67 | { |
|
| 68 | if (!isset($this->services[$name]) || empty($this->services[$name])) { |
|
| 69 | throw new ContainerException( |
|
| 70 | 'Service should be an array with key value pair: ' . $name |
|
| 71 | ); |
|
| 72 | } |
|
| 73 | ||
| 74 | if (!class_exists($this->services[$name])) { |
|
| 75 | throw new ContainerException( |
|
| 76 | 'Class does not exists: ' . $this->services[$name] |
|
| 77 | ); |
|
| 78 | } |
|
| 79 | ||
| 80 | $service = new \ReflectionClass($this->services[$name]); |
|
| 81 | return $service->newInstance(); |
|
| 82 | } |
|
| 83 | } |
|
| 84 | ||
| @@ 63-78 (lines=16) @@ | ||
| 60 | /** |
|
| 61 | * @inheritdoc |
|
| 62 | */ |
|
| 63 | public function create($service) |
|
| 64 | { |
|
| 65 | if(!isset($this->serviceList[$service])) { |
|
| 66 | throw new NotFoundException('Service not found: ' . $service); |
|
| 67 | } |
|
| 68 | ||
| 69 | if (!class_exists($this->serviceList[$service]->class)) { |
|
| 70 | throw new ContainerException( |
|
| 71 | 'Class does not exists: ' . $this->serviceList[$service]->class |
|
| 72 | ); |
|
| 73 | } |
|
| 74 | ||
| 75 | $service = new \ReflectionClass($this->serviceList[$service]->class); |
|
| 76 | return $service->newInstance(); |
|
| 77 | ||
| 78 | } |
|
| 79 | } |
|
| 80 | ||