Зарегистрируйте маршрут, используя приложение-контейнер Laravel

Я хотел бы динамически регистрировать свои маршруты (конечные точки) в Laravel. Я не использую маршруты. Php, но я хочу зарегистрировать маршруты, используя

$this->app->get()

или подобный, в поставщике услуг. Кроме того, я хотел бы также добавить промежуточное программное обеспечение таким образом к динамически зарегистрированному маршруту.

1 ответ

Решение

Вы можете взглянуть на свой RouteServiceProvider@map в App\Providers чтобы увидеть, как Laravel импортирует routes.php файл.

Затем вы можете импортировать ваш JSON-файл, преобразовать его в массив и пройти по нему.

Ваш файл JSON может выглядеть так

[
    {
        "method": "get",
        "uri": "/profile",
        "action": {
            "as": "profile",
            "uses": "UserController@showProfile",
            "middleware": "auth"
        }
    }
]

Когда вы декодируете это, вы можете сделать что-то подобное

\Route::$method($uri, $action);
Другие вопросы по тегам