因此,在Laravel中,有一个web.php文件,其中使用了类Route,并调用其静态函数get和matching。
问题是,这堂课对我来说是一种谜,我无法在我的laravel项目中找到它的来源,我可以在互联网上找到它的任何内容。 如果你谷歌它,你会发现Illuminate \ Routing \ Route但我认为这不是我正在寻找的类,因为那个没有静态函数获取和匹配。 我也试图找到我的项目目录,我发现我认为有四个这样的名字,但没有一个具有我的web.php中使用的这些功能。
这是我的web.php:
{{1}}
答案 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提供的所有方法。它可以为您节省大量时间。