我只是越來越認真對待教條,並使用建議的延遲加載模型。根據教程,我創建了一個教條引導文件:學說懶惰加載
<?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
我的模型和基類都是由Doctrine創建的。
我還創建了一個簡單的測試文件,如下所示:
<?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正確加載模型。我錯過了什麼?
部分工作,但我仍然需要在我的doctrine_test.php文件的頂部require_once('models/User.php') – JonoB 2010-09-01 15:38:43