Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 31.01.2023 06:37:33

Как формируется метод в Route (::get) в сервисном контейнере?

Привет, начал изучать Laravel. Пытаюсь разобраться с его базой, как формируется сервисный контейнер.

Route::view('/','home.index')->name('home');

Route::redirect('/home','/');

Route::get('test', TestController::class)->name('test')->middleware('token');

Route::fallback(function (){
    return 'FallBack';
});

Пытаюсь найти и разобраться где формируется статические методы get,view... для Route кликаю в IDE по аннотации и не могу никуда попасть. Подскажите, где описываются этим методы или где прочитать , как они работают. Например, в get передается URI и actiion в виде Closure объекта, как я понимаю. Где увидеть, что происходит дальше?

FHxS9pJ

Спасибо.

Не в сети

#2 01.02.2023 06:07:42

Re: Как формируется метод в Route (::get) в сервисном контейнере?

Формируется внутри

Illuminate\Routing;
class Router implements BindingRegistrar, RegistrarContract{
    /**
     * Register a new GET route with the router.
     *
     * @param  string  $uri
     * @param  array|string|callable|null  $action
     * @return \Illuminate\Routing\Route
     */
    public function get($uri, $action = null)
    {
        return $this->addRoute(['GET', 'HEAD'], $uri, $action);
    }

    /**
     * Register a new POST route with the router.
     *
     * @param  string  $uri
     * @param  array|string|callable|null  $action
     * @return \Illuminate\Routing\Route
     */
    public function post($uri, $action = null)
    {
        return $this->addRoute('POST', $uri, $action);
    }
}

Если кому-то понадобиться

Не в сети

Подвал раздела