PHP Composer Autoloader 类未找到异常

2022-01-21 00:00:00 php composer-php autoloader

标题会说话.所以这是我的项目结构:

The title speaks itself. So here is my project structure:

|src
    |Database
        |Core
            |MySQL.php
        |Support
    start.php
|vendor
composer.json
index.php

MySQL.php 文件:

MySQL.php file:

<?php
namespace DatabaseCore;
//Some methods here

index.php 和 start.php 文件:

index.php and start.php files:

//start.php file
<?php
require __DIR__ . '/../vendor/autoload.php';
?>

//index.php file
<?php
use DatabaseCore;
require __DIR__ . '/src/start.php';

$mysql = new MySQL(); // Gets exception Class 'MySQL' cannot found etc.
?>

最后是我的 composer.json 自动加载部分:

And finally my composer.json autoload part:

"autoload": {
    "psr-4": "Database\": "src/" // Also tried "src/Database" too
}

问题出在哪里?我真的厌倦了试图应对这种情况.请帮助伙计们!谢谢.

Where is the problem? I'm really tired of trying to cope with this situation. Please help guys! Thanks.

推荐答案

你需要在初始化一个类的时候包含命名空间:

You need to include namespace when you are initializing a class:

$mysql = new DatabaseCoreMySQL();

use DatabaseCoreMySQL;
$mysql = new MySQL();

请参阅使用命名空间:别名/导入

相关文章