Browse code

Parsed eventHandler arguments

RafaƂ Szklarczyk authored on 22/07/2019 18:10:28
Showing 1 changed files
... ...
@@ -272,6 +272,12 @@ class Application{
272 272
                     $fire_args[] = $this;
273 273
                     if(isset($eh['arguments'])){
274 274
                         $this->router->routeInfo::eventHandlerArgumentsFormatCheck($eh['arguments'], $args);
275
+                        $field_pattern ='#^{(?<field>[a-zA-Z_\x80-\xff][a-zA-Z0-9_\x80-\xff]*)}$#';
276
+                        foreach($args as $index => $param){
277
+                            if(\preg_match($field_pattern, $controllerAction['module'], $match) ){
278
+                                $args[$index] = $this->router->parsedParameters[$match['field']]."\\";
279
+                            }
280
+                        }
275 281
                         $fire_args = array_merge($fire_args, $args);
276 282
                     }
277 283
                     $result = $reflection->invokeArgs ($object , $fire_args );