Автоматичні маршрути для Laravel є пакетом від İzni Burak Demirtaş, який генерує маршрути з контролера за допомогою автоматичного виявлення. Він працює, виявляючи публічні
методи на контролері та генеруючи маршрути для них:
// routes/web.php
Route::auto('/test', TestController::class);
//
// Controller example
//
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class TestController extends Controller
{
/**
* URL: "/test" - main method
*/
public function index(Request $request)
{
// controller code
}
/**
* URL: "/test/foo-bar"
* This method will only work with 'GET' method.
*/
public function getFooBar(Request $request)
{
// controller code
}
/**
* URL: "/test/foo_bar"
* This method will only work with 'GET' method.
*/
public function get_foo_bar(Request $request)
{
// controller code
}
/**
* URL: "/test/bar-baz"
* This method will only work with 'POST' method.
*/
public function postBarBaz(Request $request)
{
// controller code
}
}
route
Метод також використовує третій аргумент для налаштування параметрів і проміжного програмного забезпечення:
Route::auto('/test', TestController::class, [
'name' => 'test',
'middleware' => [YourMiddleware::class],
// Parameters become available to methods
'patterns' => [
'id' => '\d+',
'value' => '\w+',
],
]);
// Limit the methods that will define routes
Route::auto('/foo', 'FooController', [
'only' => ['fooBar', 'postUpdatePost'],
]);
Хоча більшість розробників задоволені визначеннями маршрутизації, вбудованими в Laravel (маршрутизація Laravel настільки хороша в моєму скромному варіанті ), це унікальна ідея з прикладами у вихідному коді роботи з API відображення PHP і маршрутизатором Laravel.Ви можете дізнатися більше про цей пакет, отримати повні інструкції зі встановлення та переглянути вихідний код на GitHub.