Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 未找到编写器PSR-4自动加载程序类_Php_Composer Php - Fatal编程技术网

Php 未找到编写器PSR-4自动加载程序类

Php 未找到编写器PSR-4自动加载程序类,php,composer-php,Php,Composer Php,这是我的文件结构 ├── index.php ├── composer.json ├── src ├── Core └── Database.php ├── vendor 在我的composer.json文件中 "autoload": { "psr-4": {"Site\\": "src/"} } 在my Database.php中 namespace Core; class Database {} 在我的index.php中 $

这是我的文件结构

├── index.php
├── composer.json
├── src
    ├── Core
        └── Database.php
├── vendor
在我的composer.json文件中

    "autoload": {
        "psr-4": {"Site\\": "src/"}
    }
在my Database.php中

namespace Core;

class Database {}
在我的index.php中

 $db = new Site\Core\Database();
但我得到一个错误:找不到类“Site\Core\Database”

我已经运行了
composer更新
composer dump auto-o
,但仍然没有成功。我已经研究了这里的许多其他类似问题,但它们没有帮助


感谢您在
composer.json

"autoload": {
    "psr-4": {"Site\\": "src/"}
}
这意味着
Autoloader
将查找class
Site\Core\Database
的文件
src/Core/Database.php

但是要确保在
Database.php
中定义
名称空间

namespace Site\Core;

class Database
{
}

问题是,您只需定义
名称空间核心

您的
数据库
类就在
核心
命名空间中。将composer条目更改为从
src/
加载
Core
,或者将
Site\
添加到数据库名称空间。我更新了名称空间,但仍然收到相同的错误。@ccKep,已修复。这是因为打字错误。@FrenchMajesty你是怎么解决的?我也有同样的问题,我尝试了不同的名称空间,但我总是发现错误
类'Foo\Bar\Core\User'未找到
@AlexPavlov请确保用于自动加载的名称空间(例如
站点
)在类中也有名称空间,如代码示例中所示。