Laravel Route
Вызов метода у контроллера
использовать контроллер по пути в App\Http\Controllers\Путь\ИмяКонтроллера
use App\Http\Controllers\ElementsController;
Laravel Route с примерами
Варианты вызова метода у контроллера
роут вызывается по пути хост/api/all
1. вызывается явно у контроллера ElementsController статический метод index
Route::get('/all',[ElementsController::class, 'index']);
2. вызов в текстовом формате
Route::get('/all','App\Http\Controllers\ElementsController@index');
3. вызов у динамического контроллера статического метода с именем index
Route::get('/all/{table}', function($table){
return app('App\\Http\\Controllers\\'.$table)->index();;
});
4. вызов у динамического контроллера динамического метода
Route::get('/{table}/{method}', function($table,$method){
return app('App\\Http\\Controllers\\'.$table)->{$method}();
});
match
использовать общий маршрут для get и post, вызывая метод контроллера с передачей Request и дополнительного параметра id
use Illuminate\Http\Request;
Route::match(array('GET', 'POST'), '{table}/{method}/{id}', function(Request $request,$table,$method,$id){
return app('App\\Http\\Controllers\\'.$table)->{$method}($request,$id);
});