我想知道web.php中使用的类路由

时间:2016-12-28 16:56:26

标签: php laravel routes

因此,在Laravel中,有一个web.php文件,其中使用了类Route,并调用其静态函数get和matching。

问题是,这堂课对我来说是一种谜,我无法在我的laravel项目中找到它的来源,我可以在互联网上找到它的任何内容。 如果你谷歌它,你会发现Illuminate \ Routing \ Route但我认为这不是我正在寻找的类,因为那个没有静态函数获取和匹配。 我也试图找到我的项目目录,我发现我认为有四个这样的名字,但没有一个具有我的web.php中使用的这些功能。

这是我的web.php:

{{1}}

3 个答案:

答案 0 :(得分:2)

你几乎就在那里;

您可以在Illuminate\Routing\Router课程下找到它。

你在这里看不到静态功能的原因是因为Laravel使用了一种名为" Facades"它提供了一种访问实例化类的静态方法。它基本上包装了Route类并为你调用这些函数。

您可以通过查看别名键下的Route来查看已注册到Laravel的所有外墙(包括config/app.php)。

答案 1 :(得分:1)

您正在寻找Illuminate\Routing\Router班级

答案 2 :(得分:1)

Laravel利用一些OOP概念让你的生活变得更轻松,但正如你所发现的那样,它的另一面是它也很难让你“陷入困境”,看看究竟发生了什么。

很多这些概念在文档中得到了很好的解释,但我认为您正在查看的那个概念可以在https://laravel.com/docs/5.3/facades#how-facades-work找到。我还会向下滚动到Facade Class Reference部分,在那里您可以轻松地看到每个Facade“指向”哪些类。从本质上讲,这一切都归结为魔术方法__callStatic()的使用,它允许这种魔法发生。

同样在文档中是“核心概念”的子标题。我建议仔细阅读每一个,以熟悉服务容器的工作原理和利用方式,这样可以让你更好地了解外墙本身的工作原理。

我还假设你想要找到Route外观背后的类来看看有哪些其他方法,在这种情况下你还应该看看项目https://github.com/barryvdh/laravel-ide-helper您的IDE可以更好地了解每个Facade提供的所有方法。它可以为您节省大量时间。