Class 在目录中找不到

Class not found in directory

我在命名空间中组织了一些 classes,如下所示:

src/bases/BaseObject.php

<?php
namespace API\bases;

use \API\system\Database as Database;

class BaseObject {
    protected $db = null;

    public function __construct() {
        $this->db = Database::instance();
    }

}

src/objects/User.php

<?php
namespace API\objects;

class User extends \API\bases\BaseObject {

}

src/autoload.php

<?php
spl_autoload_register(
    function($class) {
        $path_parts = explode("\", $class);

        if ($path_parts[0] == 'API') {
            array_shift($path_parts);
        }
        require(__DIR__ . DIRECTORY_SEPARATOR . implode(DIRECTORY_SEPARATOR, $path_parts) . ".php");
    }
);

我已经实现了其他 classes,但在这种情况下,当我实例化一个 User 对象时,它 returns 这是致命的:

Fatal error: Class 'API\bases\BaseObject' not found in /realpath/to/api/src/objects/User.php on line 4

User.php:4class User extends \API\bases\BaseObject { 行。对我来说,这没有意义,因为我也在另一个 class 继承中以同样的方式使用了它。你看到我跳过了什么吗?

编辑: 值得注意的是,我手动要求 class,它告诉 could not redeclare class,所以它似乎无论如何都能找到。

我不知道为什么,因为我已经重写了 3 次 class,但看起来 space 在 BaseObject class 中给出了问题。我删除了 BaseObject 和左花括号之间的 space,它起作用了。