You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP报错:未找到App\Database类,OOP入门问题求助

解决「Class 'App\Database' not found」错误的排查方案

嘿,刚接触OOP就遇到这个问题很正常,我来帮你一步步拆解!这个错误本质是PHP找不到你定义的App\Database类对应的文件,下面是几个最可能的原因和解决办法:

1. 你没手动加载Database类的文件

虽然你在functions.php里写了use App\Database;,但PHP并不会自动根据命名空间去查找对应的文件——你得明确告诉它这个类的文件在哪里。

如果暂时不用自动加载工具,直接在functions.php里添加一行引入代码就行:

// 可以放在use语句之前或者合适的位置
require 'app/Database.php';

注意路径要对应:如果functions.php在项目根目录,app文件夹也在根目录,那这个路径是对的;如果文件层级不同,要调整成正确的相对路径(比如../app/Database.php)。

2. 文件名/路径和命名空间不匹配

按照PHP通用的PSR-4命名规范,命名空间App对应的是app文件夹,而类名Database必须对应文件名Database.php(首字母大写,和类名完全一致)。

检查这几个细节:

  • Database类文件是不是确实放在app/文件夹下?
  • 文件名是不是Database.php?(别写成db.php或者database.php)
  • 如果是Linux/macOS系统,文件名大小写要和类名完全一致(Windows系统不敏感,但最好统一规范)

3. 没有启用自动加载机制(推荐长期使用这个方案)

手动require每个类文件太繁琐,用Composer的自动加载能彻底解决这类问题:

  1. 在项目根目录创建composer.json文件,内容如下:
{
    "autoload": {
        "psr-4": {
            "App\\": "app/"
        }
    }
}
  1. 运行composer dump-autoload命令生成自动加载文件
  2. 在functions.php最顶部引入自动加载文件:
require 'vendor/autoload.php';

之后你再用use App\Database;就不用手动引入类文件了,PHP会自动根据命名空间找到对应的文件。

内容的提问来源于stack exchange,提问作者cervantes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 08:42:35