Browse Source

Add support for the Laravel Actions package

docblock should be read from the asController method

fix #604
Vincent Prat 2 years ago
parent
commit
ceff9fc98b
1 changed files with 9 additions and 1 deletions
  1. 9 1
      src/Tools/Utils.php

+ 9 - 1
src/Tools/Utils.php

@@ -105,7 +105,15 @@ class Utils
             if (is_array($uses)) {
             if (is_array($uses)) {
                 return $uses;
                 return $uses;
             } elseif (is_string($uses)) {
             } elseif (is_string($uses)) {
-                return explode('@', $uses);
+                [$class, $method] = explode('@', $uses);
+                
+                // Support for the Laravel Actions package, docblock should be put on the asController method
+                if ($method === '__invoke' && method_exists($class, 'asController'))
+                {
+                    return [$class, 'asController'];
+                }
+
+                return [$class, $method];
             } elseif (static::isInvokableObject($uses)) {
             } elseif (static::isInvokableObject($uses)) {
                 return [$uses, '__invoke'];
                 return [$uses, '__invoke'];
             }
             }