以某种方式我对作曲家自动加载器有问题。我正在使用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();
这很简单。我想,它有帮助。