@@ -52,14 +52,19 @@ protected function buildRoutes(Controller $controller)
52
52
$ routes = '' ;
53
53
$ methods = array_keys ($ controller ->methods ());
54
54
55
- $ className = str_replace ('App\Http\Controllers \\' , '' , $ controller ->fullyQualifiedClassName ());
55
+ $ useTuples = config ('blueprint.generate_fqcn_route ' );
56
+
57
+ $ className = $ useTuples
58
+ ? $ controller ->fullyQualifiedClassName () . '::class '
59
+ : '\'' . str_replace ('App\Http\Controllers \\' , '' , $ controller ->fullyQualifiedClassName ()) . '\'' ;
60
+
56
61
$ slug = Str::kebab ($ controller ->prefix ());
57
62
58
63
$ resource_methods = array_intersect ($ methods , Controller::$ resourceMethods );
59
64
if (count ($ resource_methods )) {
60
65
$ routes .= $ controller ->isApiResource ()
61
- ? sprintf ("Route::apiResource('%s', '%s' ) " , $ slug , $ className )
62
- : sprintf ("Route::resource('%s', '%s' ) " , $ slug , $ className );
66
+ ? sprintf ("Route::apiResource('%s', %s ) " , $ slug , $ className )
67
+ : sprintf ("Route::resource('%s', %s ) " , $ slug , $ className );
63
68
64
69
$ missing_methods = $ controller ->isApiResource ()
65
70
? array_diff (Controller::$ apiResourceMethods , $ resource_methods )
@@ -78,7 +83,14 @@ protected function buildRoutes(Controller $controller)
78
83
79
84
$ methods = array_diff ($ methods , Controller::$ resourceMethods );
80
85
foreach ($ methods as $ method ) {
81
- $ routes .= sprintf ("Route::get('%s/%s', '%s@%s'); " , $ slug , Str::kebab ($ method ), $ className , $ method );
86
+ if ($ useTuples ) {
87
+ $ action = "[ {$ className }, ' {$ method }'] " ;
88
+ } else {
89
+ $ classNameNoQuotes = trim ($ className , '\'' );
90
+ $ action = "' {$ classNameNoQuotes }@ {$ method }' " ;
91
+ }
92
+
93
+ $ routes .= sprintf ("Route::get('%s/%s', %s); " , $ slug , Str::kebab ($ method ), $ action );
82
94
$ routes .= PHP_EOL ;
83
95
}
84
96
0 commit comments