If I'm not wrong, the first part seems to me a static method of a 'Route' class
죄송하지만 잘못된 것입니다. 사실 Laravel
은 각 구성 요소에 대해 Facade
클래스를 제공하며 여기에서 Route
은 Router
클래스의 Facade
입니다. 당신은 단지 하나 개의 방법이 포함되어 있음을 알 수 있으며,이 방법을 포함하는 original/underlying
클래스 이름을 반환
<?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'; }
}
실제로는 클래스에 추가하여 key
이름이다,이처럼 그 Facade
클래스는 모습입니다 IoC
컨테이너. 따라서 장면 뒤의 Laravel
은 IoC
컨테이너에서 Illuminate/Routing/Router.php
클래스의 인스턴스를 만들고 method
을 호출합니다. 사용자에게 명확하지 않을 수 있지만 약간 자세한 내용은 여기에서 자세히 설명 할 수는 없지만 Laravel facade 및 그것의 더 나은 설명을 얻으십시오.
그래서, 마지막으로 Laravel
통화량 Router.php
클래스 get()
방법은 Route
클래스/객체의 인스턴스 다음 방법 체인 (PHP-5
기능)를 사용하여 전화를받을 Route
클래스의 where
방법을 반환, 그게 다야. 클래스의 소스 코드를 읽으면 더 좋은 아이디어를 얻을 수 있습니다.
Illuminate\Support\Facades
폴더를 확인하면 원본 클래스/구성 요소 위에 실제로 많은 래퍼 인 많은 facade 클래스를 찾을 수 있습니다. Laravel
의 설명서에서 IoC container을 확인하십시오. Laravel 프레임 워크에서 작동하는 것이 확실합니다.
간단히 말해,'Route :: get()'은'where()'메소드를 가진 객체 (아마도'Route'의 인스턴스)를 반환합니다. http://laravel.com/api/source-class-Illuminate.Routing.Route.html#309-323을 참조하십시오 (비록 어디에도'Route :: get()'을 찾을 수 없습니다) – Phil
@Phil 나는 추측하고 있습니다. 그는 [0-9] + 부분에 대해서도 묻고 있습니다. 정규식처럼 보입니다. –
감사합니다 @Phil,하지만 너무 get() 메서드를 찾을 수 없습니다. Andrewp 아니요, 정규식을 알고 있습니다 – GabAntonelli