Проблема с автозагрузкой классов

Есть автозагрузчик:

<?php
require $_SERVER['DOCUMENT_ROOT'] . '/libraries/vendor/autoload.php';
require $_SERVER['DOCUMENT_ROOT'] . '/engine/DB.php';

spl_autoload_register(function ($class_name) {
    include $_SERVER['DOCUMENT_ROOT'] . '/engine/classes/' . $class_name . '.php';
});
?>

В engine/DB.php находится подключение к Eloquent orm (Классы подгружаются от другого автозагрузчика) и класс DB, который наследует Capsule:

<?php

namespace Engine;
use Illuminate\Database\Capsule\Manager as Capsule;

$capsule = new Capsule;
require __DIR__ . '/config.php';
// настройка - из переменных окружения
$capsule->addConnection([
    'driver'    => 'mysql',   // mysql     - адаптер
    'host'      => $config['db']['hostname'],      // localhost - сервер БД
    'database'  => $config['db']['database'],      // test       - название БД
    'username'  => $config['db']['username'],      // root       - пользователь
    'password'  => $config['db']['password'],      //            - пароль
    'charset'   => 'utf8mb4',   // utf8mb4    - кодировка
    'collation' => 'utf8mb4_unicode_ci', // utf8mb4_unicode_ci
    'prefix'    => '',
]);
// Make this Capsule instance available globally via static methods... (optional)
$capsule->setAsGlobal();
$capsule->bootEloquent();
class DB extends Capsule{

}

Я вызываю свой автозагрузчик, обращаюсь к базе (\Engine\DB::table('clicks')->insert($data);) и получаю ошибки "include(.../public_html/engine/classes/Doctrine\DBAL\Driver\PDOConnection.php): Failed to open stream"

include(): Failed opening '.../public_html/engine/classes/Doctrine\DBAL\Driver\PDOConnection.php' for inclusion (include_path='.:/usr/share/php') in

но при этом, нужная инфа без проблем добавляется в базу.

Что я не так делаю? Как избавиться от ошибок?


Ответы (0 шт):