PHP作曲家自动加载不加载类



以某种方式我对作曲家自动加载器有问题。我正在使用Propel作为ORM框架。我的文件夹结构看起来如下:

src/BestFreeSites/App
- /Map
- /Base
src/BestFreeSites/Auth
src/BestFreeSites/Framework

我想使用Composer AutoLoad包含所有文件。我的composer.json文件看起来像这样:

"autoload": {
    "classmap": [
    "src/BestFreeSites/App/",
    "src/BestFreeSites/App/Base/",
    "src/BestFreeSites/App/Map/",
    "src/BestFreeSites/Auth/",
    "src/BestFreeSites/Framework/"
]
}

前三个文件夹中的类是可访问的,而不是Auth和Framework中的类(由我创建)。我还设置了正确的名称空间。让我们以Authcontroller.php(在文件夹auth中)为例:

namespace BestFreeSitesAuth;
public class AuthController
{
    public function register($args)
    {
        return $args;
    }
}

,我正在尝试将文件与"使用"一起包含:

use BestFreeSitesAppSiteQuery;
use BestFreeSitesAppUserQuery;
use BestFreeSitesAppRatingQuery;
use BestFreeSitesAuthAuthController as Auth;
use BestFreeSitesFrameworkAbstract;

只有最后两个导入不起作用。我已经倾倒了自动加载并重新加载了它(作曲家dump-autoload

任何人都可以指导我朝正确的方向引导吗?

预先感谢:)

亲切的问候,大卫

您的实际BestFreeSitesAuthAuthController类在哪里?您可以提供脚本级别目录层次结构吗?

您是否需要正确的vendor/autoload.php文件?

,或者,如果您只想设置PSR4自动加载器,请按照composer.json文件的以下代码。

{
    "autoload": {
        "psr-4": {
            "BestFreeSites\": "src/BestFreeSites"
        }
    }
}

//use your AuthController class
$autoController = new BestFreeSitesAuthAuthController();

这很简单。我想,它有帮助。

相关内容

  • 没有找到相关文章

最新更新