If I'm not wrong, the first part seems to me a static method of a 'Route' class
, Извините, но вы ошибаетесь. Фактически Laravel
обеспечивает класс Facade
для каждого компонента, а здесь Route
является Facade
базового класса Router
. Это как это Facade
класса выглядит следующим образом:
<?php namespace Illuminate\Support\Facades;
/**
* @see \Illuminate\Routing\Router
*/
class Route extends Facade {
/**
* Get the registered name of the component.
*
* @return string
*/
protected static function getFacadeAccessor() { return 'router'; }
}
Вы можете заметить, что он содержит только один метод и возвращает имя original/underlying
класса, который содержит метод, на самом деле это key
имени с помощью которого класс добавляется в контейнер IoC
. Итак, Laravel
за сценой, делает экземпляр этого класса Illuminate/Routing/Router.php
из контейнера IoC
и звонит method
, это может показаться вам неясным, но это немного сложно, и здесь невозможно ответить более подробно, но вы можете посетить Laravel facade и лучше объясните это.
Таким образом, в конце концов, Laravel
вызовы get()
метод из Router.php
класса и возвращает экземпляр класса Route
/объекта и where
метод Route
класса, то дозвонились, используя метод цепочки (PHP-5
функцию), это все. Прочтите исходный код классов, вы получите лучшую идею.
Проверьте папку Illuminate\Support\Facades
, вы можете найти столько классов фасадов, которые на самом деле являются оберткой над ее исходным классом/компонентом. Также ознакомьтесь с документом IoC container в документации Laravel
, необходимо получить четкое представление о его работе с каркасом Laravel.
Просто, 'Route :: get()' возвращает объект (возможно, экземпляр 'Route'), который имеет метод' where() '. См. Http://laravel.com/api/source-class-Illuminate.Routing.Route.html#309-323 (хотя я не могу найти 'Route :: get()' в любом месте) – Phil
@Phil Я предполагаю он также спрашивает о части [0-9] +. Кажется, что-то в регулярном выражении. –
спасибо @Phil это имеет смысл, но не может найти метод get(). Andrewp Нет, я знаю регулярные выражения – GabAntonelli