Ухудшение доктрины PHP: загрузка моделей не работает ..?

Я почти теряю его, я действительно надеюсь, что кто-то может мне помочь!

Я использую Doctrine с CodeIgniter. Все настроено правильно и работает, пока я не создам классы и не просмотрю веб-сайт.

Неустранимая ошибка: Class 'BaseObjecten' не найден в /var/www/vhosts/domain.com/application/models/Objecten.php в строке 13

Я использую следующий bootstrapper (как плагин CodeIgniter):

<?php // system/application/plugins/doctrine_pi.php // load Doctrine library require_once BASEPATH . '/plugins/Doctrine/lib/Doctrine.php'; // load database configuration from CodeIgniter require_once APPPATH.'/config/database.php'; // this will allow Doctrine to load Model classes automatically spl_autoload_register(array('Doctrine', 'autoload')); // we load our database connections into Doctrine_Manager // this loop allows us to use multiple connections later on foreach ($db as $connection_name => $db_values) { // first we must convert to dsn format $dsn = $db[$connection_name]['dbdriver'] . '://' . $db[$connection_name]['username'] . ':' . $db[$connection_name]['password']. '@' . $db[$connection_name]['hostname'] . '/' . $db[$connection_name]['database']; Doctrine_Manager::connection($dsn,$connection_name); } // CodeIgniter's Model class needs to be loaded require_once BASEPATH.'/libraries/Model.php'; // telling Doctrine where our models are located Doctrine::loadModels(APPPATH.'/models'); // (OPTIONAL) CONFIGURATION BELOW // this will allow us to use "mutators" Doctrine_Manager::getInstance()->setAttribute( Doctrine::ATTR_AUTO_ACCESSOR_OVERRIDE, true); // this sets all table columns to notnull and unsigned (for ints) by default Doctrine_Manager::getInstance()->setAttribute( Doctrine::ATTR_DEFAULT_COLUMN_OPTIONS, array('notnull' => true, 'unsigned' => true)); // set the default primary key to be named 'id', integer, 4 bytes Doctrine_Manager::getInstance()->setAttribute( Doctrine::ATTR_DEFAULT_IDENTIFIER_OPTIONS, array('name' => 'id', 'type' => 'integer', 'length' => 4)); ?> 

Кто угодно?

ps Я также попытался добавить следующее сразу после // (ДОПОЛНИТЕЛЬНАЯ КОНФИГУРАЦИЯ)

 Doctrine_Manager::getInstance()->setAttribute(Doctrine::ATTR_MODEL_LOADING, Doctrine::MODEL_LOADING_CONSERVATIVE); spl_autoload_register(array('Doctrine', 'modelsAutoload')); 

Пытался?

 <?php spl_autoload_register(array('Doctrine', 'autoload')); spl_autoload_register(array('Doctrine', 'modelsAutoload')); $manager = Doctrine_Manager::getInstance(); $manager->setAttribute(Doctrine::ATTR_MODEL_LOADING, Doctrine::MODEL_LOADING_CONSERVATIVE); $manager->setAttribute(Doctrine::ATTR_AUTOLOAD_TABLE_CLASSES, true); $manager->setAttribute(Doctrine_Core::ATTR_AUTOLOAD_TABLE_CLASSES, true); Doctrine::loadModels(APPPATH.'models'); 

Кроме того, в зависимости от вашей серверной платформы вы можете проверить использование xdebug и среды IDE, поддерживающей точки останова в реальном времени. Эта комбинация позволяет довольно быстро отслеживать большинство проблем с автозагрузчиком, устанавливая точку останова в первой строке класса, которая имеет проблему с зависимостями.

Просто небольшой взлом

Добавьте эту строку

Doctrine::loadModels(APPPATH.'/models/generated');

до …

Doctrine::loadModels(APPPATH.'/models');

или другой путь, по которому вы думаете, что ваши автогенерированные базовые классы находятся в приложении / helper / doctrine_pi.php