Explorar o código

Accepting String as callback

ahwelp %!s(int64=6) %!d(string=hai) anos
pai
achega
2d6227824c
Modificáronse 1 ficheiros con 8 adicións e 5 borrados
  1. 8 5
      src/BBRouter/Route.php

+ 8 - 5
src/BBRouter/Route.php

@@ -146,7 +146,13 @@ class Route{
         }
         
         foreach ($this->_callback as $callback){
-            call_user_func_array($callback, $this->_params);
+            if(is_string($callback)){
+                $segments = explode('@', $callback);
+                $class = new $segments[0]();
+                $class->{$segments[1]}(...array_values($this->_params));
+            }else{
+                call_user_func_array($callback, $this->_params);
+            }
         }
 
         foreach ($this->_after as $after){
@@ -255,7 +261,4 @@ class Route{
 
         return false;
     }
-}
-
-
-
+}