gpt4 book ai didi

php - 无法使用 Composer 从其他自动加载的类文件中自动加载类

转载 作者:行者123 更新时间:2023-12-04 16:59:44 24 4
gpt4 key购买 nike

我不熟悉使用 Composer 使用“PSR-0”自动加载类的方式自动加载自定义类文件。
下面是我的目录树结构。
Folder Structure
下面是我在 composer.json 文件中的 PSR-0 配置
enter image description here
在需要 vendor/autoload.php 后从我的项目文件外部请求时,类自动加载很好
问题是当试图从另一个具有定义命名空间的类中加载一个类时。
例子:
我正在尝试调用静态方法 ::GetDatabaseConfig() 来自 配置 内的类配置 文件夹放入 数据库 内的类数据库文件夹。
这是我在 Database 类中使用的代码。
数据库/Database.php

namespace App\Database;
class Database{
public static $con;
public static $connected = false;
public static $error = false;
public static $error_message = "";

function __construct( $opt=false ){
$config = App\Config\Config::GetDatabaseConfig();
//REST....
}
}
此代码不起作用并显示此错误。

Fatal error: Uncaught Error: Class "App\Database\App\Config\Config" not found in /storage/emulated/0/code/durandal/htdocs/api/idan/App/Database/Database.php:13


我看到 Database.php 文件中使用的命名空间在请求 App\Config\Config 类时用作前缀。
我在这里错过了什么?如何解决?

最佳答案

您没有使用 Config 的 FQCN类,但名称相对于 App\Database命名空间。
要解决此问题,您需要添加前缀 Config类与 \ :

\App\Config\Config::GetDatabaseConfig();
甚至更好的是,您可以导入 Configuse App\Config\Config; 一起上课然后与 Config::GetDatabaseConfig() 一起使用

关于php - 无法使用 Composer 从其他自动加载的类文件中自动加载类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66882409/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com