Я просто разбираюсь с Доктриной и использую предложенную ленивую загрузку моделей. Согласно учебники, я создал доктрину начальной загрузки файла:Doctrine lazy loading
<?php
require_once(dirname(__FILE__) . '/libs/doctrine/lib/Doctrine.php');
spl_autoload_register(array('Doctrine', 'autoload'));
$manager = Doctrine_Manager::getInstance();
$manager->setAttribute(Doctrine_Core::ATTR_AUTO_ACCESSOR_OVERRIDE, true);
$manager->setAttribute(Doctrine_Core::ATTR_MODEL_LOADING, Doctrine_Core::MODEL_LOADING_CONSERVATIVE);
Doctrine_Core::loadModels(array(dirname(__FILE__) . '/models/generated', dirname(__FILE__) . '/models')); //this line should apparently cause the Base classes to be loaded beforehand
Мои модели и базовые классы были все созданное доктриной.
Я также создал простой тестовый файл следующим образом:
<?php
require_once('doctrine_bootstrap.php');
$user = new User();
$user->email = '[email protected]';
echo $user->email;
Однако это порождает следующую ошибку:
Fatal error: Class 'User' not found in E:\xampp\htdocs\apnew\services\doctrine_test.php on line 4
Однако, если я явно требует BaseUser.php и пользователя .php, тогда он отлично работает без ошибок
<?php
require_once('doctrine_bootstrap.php');
require_once('models/generated/BaseUser.php');
require_once('models/User.php');
$user = new User();
$user->email = '[email protected]';
echo $user->email;
Итак, кажется, что Doctine не является au для правильной загрузки моделей. Что мне не хватает?
Это частично работает, но мне все еще нужно require_once ('models/User.php') в верхней части моего файла doctrine_test.php – JonoB