Laravel 控制器和包中的路由?
Posted
技术标签:
【中文标题】Laravel 控制器和包中的路由?【英文标题】:Laravel controllers and routes in packages? 【发布时间】:2014-08-20 17:54:07 【问题描述】:我在将控制器注册到我的包中的路由时遇到问题。
据我从官方文档中了解到,我只需要简单地为其添加前缀并使用我的命名空间,尽管我总是收到 xyzclass not found 的错误。
任何人都可以向我解释我怎样才能完成这项工作?
-- Vendor
-- Package
|-- composer.json
|-- composer.lock
|-- public
|-- src
| |-- Vendor
| | -- Package
| | -- PackageServiceProvider.php
| |-- config
| |-- controllers
| | -- MyController.php
| |-- lang
| |-- migrations
| |-- routes.php
| -- views
|-- tests
我在我的 serviceprovider 文件中加载了我的 routes.php。 我在 MyController.php 中创建和索引函数并在我的 routes.php 中分配它。
Route::contorller('myctrl', 'Vendor\Package\MyController');
理论上我应该能够访问 mydomain.com/myctrl 并且它应该会返回给我 我在 MyController 的 index 函数中定义的。但实际上我收到一条错误消息,说 Class Vendor\Package\MyController 不存在。任何建议或帮助应该如何工作或如何工作?
【问题讨论】:
【参考方案1】:我猜我很笨,忘记了一些小细节。 下次我应该使用适当的命名空间,将控制器文件夹添加到我的 composer.json 也有帮助。
我在这里找到了有关如何执行此操作的详细说明: https://***.com/a/18137352/1397967
【讨论】:
【参考方案2】:Route::contorller('myctrl', 'MyController');
这是链接到src/controllers/
而不是vendor
【讨论】:
尝试作曲家转储自动加载 相同。 ReflectionException 类 MyController 不存在以上是关于Laravel 控制器和包中的路由?的主要内容,如果未能解决你的问题,请参考以下文章