Php 无法从其他自动加载的类文件中使用composer自动加载类

Php 无法从其他自动加载的类文件中使用composer自动加载类,php,namespaces,composer-php,autoload,psr-0,Php,Namespaces,Composer Php,Autoload,Psr 0,我不熟悉使用composer自动加载自定义类文件,使用“PSR-0”方式自动加载类 下面是我的目录树结构 下面是composer.json文件中的PSR-0配置 在需要vendor/autoload.php之后,从我的项目文件外部请求时,类自动加载是可以的 问题是当试图从具有已定义命名空间的另一个类中加载一个类时 例如: 我正在尝试调用一个静态方法::GetDatabaseConfig()从Config文件夹中的Config类调用到数据库文件夹中的数据库类。 这是我在数据库类中使用的代码 数

我不熟悉使用composer自动加载自定义类文件,使用“PSR-0”方式自动加载类

下面是我的目录树结构

下面是composer.json文件中的PSR-0配置

在需要vendor/autoload.php之后,从我的项目文件外部请求时,类自动加载是可以的

问题是当试图从具有已定义命名空间的另一个类中加载一个类时

例如:

我正在尝试调用一个静态方法::GetDatabaseConfig()Config文件夹中的Config类调用到数据库文件夹中的数据库类。 这是我在数据库类中使用的代码

数据库/Database.php

此代码无效,并显示此错误

致命错误:未捕获错误:在/storage/emulated/0/code/durandal/htdocs/api/idan/App/Database/Database/Database.php中找不到类“App\Database\App\Config\Config”

我看到Database.php文件中使用的名称空间在请求App\Config\Config类时用作前缀


我在这里错过了什么?如何解决它?

您使用的不是
Config
类的FQCN,而是相对于
App\Database
命名空间的名称

要解决此问题,您需要在
Config
类前面加一个
\

\App\Config\Config::GetDatabaseConfig();

或者更好,您可以使用
use App\Config\Config导入
Config
Config::GetDatabaseConfig()

一起使用。您使用的不是
Config
类的FQCN,而是相对于
App\Database
命名空间的名称

要解决此问题,您需要在
Config
类前面加一个
\

\App\Config\Config::GetDatabaseConfig();

或者更好,您可以使用
use App\Config\Config导入
Config
Config::GetDatabaseConfig()

一起使用。出于任何特殊原因,您使用的是PSR-0而不是PSR-4吗?只是它迫使我严格按照目录和文件结构进行组织。为什么不使用
use
语句正确导入类?如果要跳过
use
,则必须使用类的绝对路径,如
\App\Config\Config::GetDatabaseConfig
(前面有一个反斜杠)是的。这就是我现在正在做的。出于任何特殊原因,您使用的是PSR-0而不是PSR-4吗?只是它迫使我严格按照目录和文件结构进行组织。为什么不使用
use
语句正确导入类?如果要跳过
use
,则必须使用类的绝对路径,如
\App\Config\Config::GetDatabaseConfig
(前面有一个反斜杠)是的。这就是我现在正在做的。