2013-07-19 5 views
1

Я впервые использую рамки Laravel. Попытка прочитать и понять код самостоятельно. Я застрял на одном месте. Не удается найти метод Route :: get(). Не удается найти в следующих классах.Где находится метод Route :: get(), определенный в Laravel-4

laravel/vendor/laravel/framework/src/Illuminate/Routing/Route.php 
laravel/vendor/symfony/routing/Symfony/Component/Routing/Route.php 

Любопытно, в каком файле этот метод определен и/или как он использует этот метод, даже не определяя его. Надеюсь, это поможет мне понять некоторые усовершенствованные функции ООП.

ответ

1

Он находится в

Illuminate/Routing/Router.php 

В приложение/Config/app.php вы должны увидеть этот псевдоним:

'Route'   => 'Illuminate\Support\Facades\Route', 

Это (класс псевдоним) Route:: фасаду Маршрут:

Illuminate/Support/Facades/Route.php 

, где он, наконец, указывает на экземпляр «подключенного маршрутизатора IoC»:

$app['router'] 

созданный поставщиком услуг в

Illuminate\Routing\RoutingServiceProvider.php 

Это длинный путь :)

+0

Спасибо. Я вижу метод get в классе Router, но, согласно моим небольшим знаниям, это должен быть Router :: get() вместо Route :: get(). Попытка понять, что происходит. – mysterious

1

Что вызывает это являются фасадами.

Facade Documentation может помочь вам лучше понять его, но может быть довольно запутанной темой.

+0

Не только найти файл, где он определен. Хотите понять, что происходит. Спасибо, буду читать документацию. – mysterious

+0

Это тоже поможет! Это видео, поэтому было бы легче следовать, и в качестве примера можно использовать Laravel. https://tutsplus.com/lesson/when-they-say-laravel-shouldnt-use-static-methods/ – user1669496

Смежные вопросы