PHP Composer 自动加载未加载 类
PHP Composer Autoload not loading classes
不知何故,我在使用 composer autoloader 时遇到了问题。我使用 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 BestFreeSites\Auth;
public class AuthController
{
public function register($args)
{
return $args;
}
}
我正在尝试将文件包含在 'use' 中,如下所示:
use \BestFreeSites\App\SiteQuery;
use \BestFreeSites\App\UserQuery;
use \BestFreeSites\App\RatingQuery;
use \BestFreeSites\Auth\AuthController as Auth;
use \BestFreeSites\Framework\Abstract;
只有最后两个导入不工作。
我已经转储了自动加载并重新加载它 (composer dump-autoload)
谁能指导我正确的方向?
提前致谢:)
亲切的问候,
大卫
您真正的\BestFreeSites\Auth\AuthController
class 在哪里?你能提供脚本级目录层次结构吗?
您是否正确要求 vendor/autoload.php
文件?
或者,如果您只想设置您的 psr4 自动加载器,请为您的 composer.json
文件执行以下代码。
{
"autoload": {
"psr-4": {
"BestFreeSites\": "src/BestFreeSites"
}
}
}
//use your AuthController class
$autoController = new \BestFreeSites\Auth\AuthController();
这很简单。我想,这很有帮助。
不知何故,我在使用 composer autoloader 时遇到了问题。我使用 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 BestFreeSites\Auth;
public class AuthController
{
public function register($args)
{
return $args;
}
}
我正在尝试将文件包含在 'use' 中,如下所示:
use \BestFreeSites\App\SiteQuery;
use \BestFreeSites\App\UserQuery;
use \BestFreeSites\App\RatingQuery;
use \BestFreeSites\Auth\AuthController as Auth;
use \BestFreeSites\Framework\Abstract;
只有最后两个导入不工作。 我已经转储了自动加载并重新加载它 (composer dump-autoload)
谁能指导我正确的方向?
提前致谢:)
亲切的问候, 大卫
您真正的\BestFreeSites\Auth\AuthController
class 在哪里?你能提供脚本级目录层次结构吗?
您是否正确要求 vendor/autoload.php
文件?
或者,如果您只想设置您的 psr4 自动加载器,请为您的 composer.json
文件执行以下代码。
{
"autoload": {
"psr-4": {
"BestFreeSites\": "src/BestFreeSites"
}
}
}
//use your AuthController class
$autoController = new \BestFreeSites\Auth\AuthController();
这很简单。我想,这很有帮助。