Laravel&命名空间

时间:2014-11-16 17:57:56

标签: php laravel namespaces resources

这可能是挑剔的,但我想知道Laravel 4.2" Route"的名称空间是怎样的。工作(使用资源功能)。

所以...在所有文档(http://laravel.com/docs/4.2/controllers#resource-controllers)中,你会看到:

Route::resource('photo', 'PhotoController');

然而,当我去"路线"文档(http://laravel.com/api/4.2/Illuminate/Routing/Route.html)你可以看到函数"资源"在那里不存在。相反,它存在于"路线 r " (http://laravel.com/api/4.2/Illuminate/Routing/Router.html)。

我如何使用PHP"使用"用于指定我使用资源函数的语句?示例本身是准确的,并且在我调用时会起作用(因为它显示了我期望的所有路径):

php artisan routes

Laravel如何使Route vs. Router名称空间有效?

3 个答案:

答案 0 :(得分:3)

Laravel大量使用 Facades 。它们基本上是允许对非静态方法进行静态访问(Route::resource())的类。在后台,它创建了Router类的新实例,然后调用方法resource()。您可以在docs

中找到有关它的更多信息

如果您正在寻找合适的自动完成功能以及依赖于解析课程的其他IDE功能,请尝试laravel ide helper

答案 1 :(得分:1)

问题是Route这里不是类,但它是facade。如果您查看Facade class reference,您会看到Route外观正在使用Illuminate\Routing\Router路由器,因此它就是您想要的课程

答案 2 :(得分:1)

Route中的app/routes.php只是Laravel's various facades中的另一个,并包含由Laravel路由引擎处理的规则,以生成实际的路由将在您的应用程序中使用。

为了更好地理解,我建议检查this short guide to Laravel Architecture以了解如何在框架中接收和处理请求,以及Rebuilding Laravel解释各种Laravel组件是如何从第一个处理的文件开始构建。