Laravel 4 中的应用程序结构和类不存在


app structure in Laravel 4 and class does not exist

>我已将我的应用程序构建如下

注意:"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

然后使用 composer

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 文档中的这一部分,了解如何正确创建包。