【问题标题】:Fatal error: Uncaught Error: Class "App\Hello\Hello" not found致命错误:未捕获的错误:找不到类 \"App\\Hello\\Hello\"
【发布时间】:2022-10-14 18:42:23
【问题描述】:

当我尝试使用命名空间时出现此错误,但无法修复它

Error, 索引.php

<?php
require __DIR__ . '/../vendor/autoload.php';

use App\Hello\Hello;

$hello = new Hello("Hello World !");
var_dump($hello);

你好.php

<?php

namespace App\Hello;

class Hello
{

    private string $talk;

    public function __construct(string $talk)
    {
        $this->talk = $talk;
    }
    public function getTalk(): string
    {
        return $this->talk;
    }
    public function setTalk(string $talk): void
    {
        $this->talk = $talk;
    }
}

作曲家.json

{
    "name": "sheaqx/composer",
    "autoload": {
        "psr-4": {
            "App\\": "src/"
        }
    },
    "require": {}
}

我经常做 composer dump-autoload 和 composer install 来更新它 谢谢您的帮助

【问题讨论】:

    标签: php composer-php


    【解决方案1】:

    命名空间必须与文件夹结构匹配,除非您在 composer.json 中定义“别名”

    您的 Hello.php 必须在 Hello 文件夹中(在 linux 情况下很重要)

    或者在 composer.json 中,如果你想使用不同的结构,你可以定义类似

    {
        "autoload": {
            "psr-0": {
                "AppHello": "src/my/folder/hello"
            }
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2016-10-21
      • 2019-07-15
      • 1970-01-01
      • 1970-01-01
      • 2023-03-25
      • 2018-09-06
      • 2018-05-11
      • 2020-11-09
      • 2020-03-02
      相关资源
      最近更新 更多