Completed
Push — v1.ns ( a6bb16...dc5273 )
by Timo
03:36
created
src/Factory/ServiceFactory.php 1 patch
Spacing   +44 added lines, -44 removed lines patch added patch discarded remove patch
@@ -23,11 +23,11 @@  discard block
 block discarded – undo
23 23
      * @param $config configuration of the service
24 24
      * @return object the initialized service instance
25 25
      */
26
-    public static function createService(array $config){
26
+    public static function createService(array $config) {
27 27
         $args = array();
28 28
         //build arguments for constructor
29
-        if(isset($config['constructor_arg'])){
30
-            foreach($config['constructor_arg'] as $arg){
29
+        if (isset($config['constructor_arg'])) {
30
+            foreach ($config['constructor_arg'] as $arg) {
31 31
                 $args[] = self::buildArg($arg);
32 32
             }
33 33
         }
@@ -44,21 +44,21 @@  discard block
 block discarded – undo
44 44
      * @param string $defaultClass class to create instance for if none is set in config
45 45
      * @return object build and modified srvice instance
46 46
      */
47
-    public static function doBuild($config, $arguments, $defaultClass = false){
47
+    public static function doBuild($config, $arguments, $defaultClass = false) {
48 48
         $cls = isset($config["class"]) ? trim((string)$config["class"]) : (string)$defaultClass;
49
-        if($cls != ''){
49
+        if ($cls != '') {
50 50
             try {
51
-                $constructor = isset($config["constructor"])?(string)$config["constructor"]:"";
52
-                if($constructor != '' && Test::assertMethod($cls, $constructor)){
51
+                $constructor = isset($config["constructor"]) ? (string)$config["constructor"] : "";
52
+                if ($constructor != '' && Test::assertMethod($cls, $constructor)) {
53 53
                     $service = call_user_func_array(array($cls, $constructor), $arguments);
54
-                }else{
54
+                }else {
55 55
                     $service = self::build($cls, $arguments);
56 56
                 }
57
-            }catch(\Exception $e){
57
+            } catch (\Exception $e) {
58 58
                 throw new \RuntimeException('Could not create Service "'.$cls.'" -> '.$e->getMessage());
59 59
             }
60 60
         }
61
-        if(is_object($service)){
61
+        if (is_object($service)) {
62 62
             return $service;
63 63
         }
64 64
         throw new \RuntimeException('Could not create Service "'.$cls.'". Class does not exist.');
@@ -75,7 +75,7 @@  discard block
 block discarded – undo
75 75
      * @param array $arguments arguments for the constructor
76 76
      * @return object build and modified srvice instance
77 77
      */
78
-    public static function build($className, $arguments){
78
+    public static function build($className, $arguments) {
79 79
         return GenericBuilder::getInstance($className)->build($arguments);
80 80
     }
81 81
 
@@ -86,29 +86,29 @@  discard block
 block discarded – undo
86 86
      * @param object $config configuration object to create argument from.
87 87
      * @return mixed build argument
88 88
      */
89
-    protected function buildArg($config){
90
-        if(trim((string)$config['value']) != ''){
89
+    protected function buildArg($config) {
90
+        if (trim((string)$config['value']) != '') {
91 91
             $arg = (string)$config['value'];
92
-        }elseif($config->getName() == 'value'){
92
+        }elseif ($config->getName() == 'value') {
93 93
             $arg = (string)$config;
94
-        }elseif($config->getName() == 'list'){
94
+        }elseif ($config->getName() == 'list') {
95 95
             $arg = array();
96
-            foreach($config->children() as $entry){
97
-                if($entry->getName() == 'value'){
98
-                    if($entry['key']){
96
+            foreach ($config->children() as $entry) {
97
+                if ($entry->getName() == 'value') {
98
+                    if ($entry['key']) {
99 99
                         $arg[(string)$entry['key']] = (string)$entry;
100
-                    }else{
100
+                    }else {
101 101
                         $arg[] = (string)$entry;
102 102
                     }
103
-                }elseif($entry->getName() == 'service'){
103
+                }elseif ($entry->getName() == 'service') {
104 104
                     $arg[] = $this->provideService($entry);
105 105
                 }
106 106
             }
107
-        }elseif($config->getName() == 'service'){
107
+        }elseif ($config->getName() == 'service') {
108 108
             $arg = self::provideService($config);
109
-        }elseif($config->list){
109
+        }elseif ($config->list) {
110 110
             $arg = $this->buildArg($config->list);
111
-        }elseif($config->service){
111
+        }elseif ($config->service) {
112 112
             $arg = $this->buildArg($config->service);
113 113
         }
114 114
         return $arg;
@@ -126,24 +126,24 @@  discard block
 block discarded – undo
126 126
      * @param string $defaultClass class to create instance for if none is set in config
127 127
      * @return object build and modified srvice instance
128 128
      */
129
-    public static function buildAndModify(array $config, $arguments, $defaultClass = ""){
130
-        if((isset($config["class"]) && "" != (string)$config["class"])  || $defaultClass !== ""){
129
+    public static function buildAndModify(array $config, $arguments, $defaultClass = "") {
130
+        if ((isset($config["class"]) && "" != (string)$config["class"]) || $defaultClass !== "") {
131 131
              $service = ServiceFactory::doBuild($config, $arguments, $defaultClass);
132
-        }else{
132
+        }else {
133 133
             throw new \RuntimeException('Could not create Service. no class or reference given.');
134 134
         }
135
-        if(isset($config["ref_property"])){
135
+        if (isset($config["ref_property"])) {
136 136
             $service = $service->{(string)$config["ref_property"]};
137
-        }elseif(isset($config["ref_method"])){
137
+        }elseif (isset($config["ref_method"])) {
138 138
                 $args = array();
139
-            if(isset($config['argument'])){
140
-                        foreach($config['argument'] as $arg){
139
+            if (isset($config['argument'])) {
140
+                        foreach ($config['argument'] as $arg) {
141 141
                             $args[] = $this->buildArg($arg);
142 142
                         }
143 143
                 }
144 144
             $service = call_user_func_array(array($service, (string)$config["ref_method"]), $args);
145 145
         }
146
-        if(!is_object($service)){
146
+        if (!is_object($service)) {
147 147
             throw new \RuntimeException('Could not create Service.');
148 148
         }
149 149
         $service = self::modifyService($service, $config);
@@ -165,29 +165,29 @@  discard block
 block discarded – undo
165 165
      * @param object $config configuration to get the modification instructions from.
166 166
      * @return object the modificated service
167 167
      */
168
-    protected function modifyService($service, $config){        
168
+    protected function modifyService($service, $config) {        
169 169
         $config = is_array($config) ? new \ArrayObject($config) : $config;
170 170
         // set instance properties
171
-        if(isset($config->property)){
172
-            foreach($config->property as $property){
171
+        if (isset($config->property)) {
172
+            foreach ($config->property as $property) {
173 173
                 $arg = $this->buildArg($property);
174
-                if($arg){
174
+                if ($arg) {
175 175
                     $setter = self::getSetter($property);
176
-                    if($setter &&  self::hasPublicProperty($service, 'Method', $setter)){
176
+                    if ($setter && self::hasPublicProperty($service, 'Method', $setter)) {
177 177
                         $service->{$setter}($arg);
178
-                    }elseif(in_array($property, self::hasPublicProperty($service, 'Property', $setter))){
178
+                    }elseif (in_array($property, self::hasPublicProperty($service, 'Property', $setter))) {
179 179
                         $service->$setter = $arg;
180 180
                     }
181 181
                 }
182 182
             }
183 183
         }
184 184
         // call instance methods
185
-        if(isset($config->action)){
186
-            foreach($config->action as $action){
185
+        if (isset($config->action)) {
186
+            foreach ($config->action as $action) {
187 187
                 $method = (string)$action['method'] != '' ? (string)$action['method'] : NULL;
188
-                if($method && self::hasPublicProperty($service, 'Method', $method)){
188
+                if ($method && self::hasPublicProperty($service, 'Method', $method)) {
189 189
                     $args = array();
190
-                    foreach($action->children() as $argument){
190
+                    foreach ($action->children() as $argument) {
191 191
                         $args[] = $this->buildArg($argument);
192 192
                     }
193 193
                     call_user_func_array(array($service, (string)$action['method']), $args);
@@ -195,9 +195,9 @@  discard block
 block discarded – undo
195 195
             }
196 196
         }
197 197
         // register instance listeners
198
-        if($service instanceof \PEIP\INF\Event\Connectable){
199
-            if(isset($config->listener)){
200
-                foreach($config->listener as $listenerConf){
198
+        if ($service instanceof \PEIP\INF\Event\Connectable) {
199
+            if (isset($config->listener)) {
200
+                foreach ($config->listener as $listenerConf) {
201 201
                     $event = (string)$listenerConf['event'];
202 202
                     $listener = $this->provideService($listenerConf);
203 203
                     $service->connect($event, $listener);
Please login to merge, or discard this patch.