Je suis juste en train de se familiariser avec Doctrine, et en utilisant le chargement paresseux suggéré des modèles. Selon les tutoriels, j'ai créé un fichier d'amorçage de la doctrine:Doctrine paresseux chargement
<?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
Mes modèles et classes de base ont tous été créés par la doctrine.
J'ai aussi créé un fichier de test simple comme suit:
<?php
require_once('doctrine_bootstrap.php');
$user = new User();
$user->email = '[email protected]';
echo $user->email;
Cependant, cela génère l'erreur suivante:
Fatal error: Class 'User' not found in E:\xampp\htdocs\apnew\services\doctrine_test.php on line 4
Cependant, si je requiers explicitement l'BaseUser.php et l'utilisateur fichiers .php, alors ça fonctionne bien sans aucune erreur
<?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;
Donc, il semble que Doctine n'est pas au charger les modèles correctement. Qu'est-ce que je rate?
Cela fonctionne partiellement, mais je dois encore require_once ('models/User.php') en haut de mon fichier doctrine_test.php – JonoB