未找到 PHP Composer Autoloader 类异常

标签 php composer-php autoloader

标题不言自明。所以这是我的项目结构:

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

MySQL.php 文件:

<?php
namespace Database\Core;
//Some methods here

index.php 和 start.php 文件:

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

//index.php file
<?php
use Database\Core;
require __DIR__ . '/src/start.php';

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

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

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

问题出在哪里?我真的厌倦了尝试应对这种情况。请大家帮忙!谢谢。

最佳答案

初始化类时需要包含命名空间:

$mysql = new Database\Core\MySQL();

use Database\Core\MySQL;
$mysql = new MySQL();

参见 Using namespaces: Aliasing/Importing

关于未找到 PHP Composer Autoloader 类异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27554364/

相关文章:

php - 扩展php注册系统

javascript - jquery-ias 问题 - 未加载页脚

php - 从 PHP 中的 Phar 存档复制特定目录

php - 在 PHP 中将字符串旋转 N 次

composer-php - composer.lock 和 installed.json 有什么区别?

php - Composer 安装 "PHP Warning: PHP Startup: Unable to load dynamic library ' gd 2'"

json - 更新依赖项时 Composer 挂起

PHP如何在类文件中包含 Composer 自动加载

php - Composer 给出错误, "Class Not Found"

php - Zend Framework 1.11 与 Doctrine 2 和命名空间