2013-07-19 74 views
1

我第一次使用Laravel框架。嘗試閱讀和理解我自己的代碼。我被困在一個地方。找不到Route :: get()方法在哪裏定義。在以下課程中找不到。Laravel-4中定義的Route :: get()方法在哪裏

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

好奇在哪個文件中定義了這個方法和/或他們如何使用這個方法,甚至沒有定義它。希望這會幫助我理解一些高級的OOP功能。

回答

1

正是在

Illuminate/Routing/Router.php 

在您的應用程序/配置/ app.php你應該可以看到這個別名:

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

這是Route::(化名類)的路線門面:

Illuminate/Support/Facades/Route.php 

它最終指向IoC綁定的「路由器」實例:

服務提供商創建
$app['router'] 

Illuminate\Routing\RoutingServiceProvider.php 

這是一個長的路徑:)

+0

謝謝。我在Router類中看到了一個get方法,但根據我的小知識,它應該是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

相關問題