>我已将我的应用程序构建如下
注意:"MyCMS"是拉拉维尔根目录的"app"目录中的一个文件夹
http://paste.laravel.com/POt
问题是每当我尝试访问路由"管理员/用户"时
我收到以下错误
Class 'MyCMS'Admin'UserController does not exist
有什么想法可能出在哪里吗?
在你的UserController.php
中,它应该是 namespace MyCMS'Admin'Controllers;
不namespace MyCMS'Admin;
附带说明一下,我认为当$this->package('MyCMS/Admin');
在您的应用程序目录中时,您不能只调用它。 如果你查看 laravel 的包方法源代码,它实际上是猜测你的"包"的路径,并上升两级来获取资源。这是一个非常具体的文件结构。
有时我们遇到这个问题,那么我们应该在UserController中使用<?php
而不是<?
.php
du 或 composer dump-autoload
您的问题的原因很简单。包不会进入 Laravel 的应用程序目录中。
如果要创建包,请使用以下命令执行此操作:
php artisan workbench vendor/package --resources
然后,这将在您的Laravel安装中创建一个workbench
文件夹,其中预定义的目录结构将为您新创建的软件包做好准备。
/src
/Vendor
/Package
PackageServiceProvider.php
/config
/lang
/migrations
/views
/tests
/public
然后,可以通过将提供程序添加到 app/config/app.php
文件中的提供程序数组来注册提供程序。composer dump-autoload
后,包应准备好在应用中使用。
请参阅 Laravel 文档中的这一部分,了解如何正确创建包。