-
Notifications
You must be signed in to change notification settings - Fork 128
Description
- Themosis Version: 3.0.0
- WordPress Version: 6.1.1
- PHP Version: 8.1
Description
I must be doing something wrong here, my Laravel experience is not all that high so I am perfectly willing to accept user error, especially for such a rudimentary task.
I am getting errors when I try to define a route to a controller, either using the [Pagecontroller::class,'page'] methor, or the 'PageController@page' method.
Steps to reproduce
Fresh installation of Themosis with Wordpress, set app_debug to true in .env
Create a page in Wordpress named Test
Create a new controller with Artisan named PageController
In that controller add:
public function Test() {
return view('welcome');
}
In routes/web.php add a route:
Route::any('page', ['test', 'uses' => [PageController::class,'Test']]);
Accessing the page via site.com/test gives:
ReflectionFunction::__construct(): Argument #1 ($function) must be of type Closure|string, array given
If the route is changed the other method as given in the docs:
Route::any('page', ['test', 'uses' => 'PageController@Test']);
We now get a new error:
Target class [PageController] does not exist.
Note that if the route is:
Route::any('page', ['test', 'uses' => 'App\Http\Controllers\PageController@Test']);
It does work as expected, but the documentation explicitly says that it shouldn't be necessary.