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

PHP同文件夹下类调用报错:TestHeader未找到,求排查与解决方法

错误原因

这个错误的核心是PHP无法找到TestHeader类的定义。当PHP执行TestHeaders.php里的new TestHeader()或者处理返回类型声明TestHeader时,它不知道这个类的代码存放在哪里——因为你既没有手动引入包含TestHeader类的文件,也没配置自动加载机制让PHP自动查找类文件。

修复方法

下面是两种常用的解决办法:

方案1:手动引入类文件

在TestHeaders.php的最顶部,用require_once或者require引入TestHeader.php文件:

<?php
// 引入TestHeader类的定义文件
require_once 'TestHeader.php';

class TestHeaders
{
    public function profile(int $userId): TestHeader
    {
        return new TestHeader();
    }
}

注意:如果两个文件不在同一目录,要写正确的相对路径或者绝对路径。

方案2:使用自动加载(推荐)

如果你的项目用Composer管理,只需要让类符合PSR-4自动加载规范即可:

  1. 给两个类添加对应文件夹的命名空间:
    TestHeader.php:
    <?php
    namespace Test;
    
    class TestHeader
    {
        public function send(): void
        {
        }
    }
    
    TestHeaders.php:
    <?php
    namespace Test;
    
    class TestHeaders
    {
        public function profile(int $userId): TestHeader
        {
            return new TestHeader();
        }
    }
    
  2. 在项目根目录的composer.json里配置自动加载规则:
    {
        "autoload": {
            "psr-4": {
                "Test\\": "test/"
            }
        }
    }
    
  3. 执行命令composer dump-autoload生成自动加载文件,之后在项目入口引入vendor/autoload.php,PHP就会自动根据命名空间找到对应的类文件,不用再手动逐个引入。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 03:01:08