如何设置自动加载,以便我可以拥有我的目录结构
/application
/models <<--- plural
...
并有 Zend/Doctrine Autoloader 加载Application\Model\User
。注意模型是单数的。
目前我有如下自动加载器设置(在Bootstrap.php _initDoctrine()
)
$zendAutoloader = Zend_Loader_Autoloader::getInstance();
// Symfony
$autoloader = array(new ClassLoader('Symfony'), 'loadClass');
$zendAutoloader->pushAutoloader($autoloader, 'Symfony\\');
// Doctrine
$autoloader = array(new ClassLoader('Doctrine'), 'loadClass');
$zendAutoloader->pushAutoloader($autoloader, 'Doctrine\\');
// Models
$autoloader = array(new ClassLoader('Application\\Model', realpath(__DIR__ . '/models')), 'loadClass');
$zendAutoloader->pushAutoloader($autoloader, 'Application\\Model');
// Proxies
$autoloader = array(new ClassLoader('Application\\Model\\Proxy', realpath(__DIR__ . '/models/proxies')), 'loadClass');
$zendAutoloader->pushAutoloader($autoloader, 'Application\\Model\\Proxy');
目前,当我尝试使用时Application\Model\User
,我得到
require(D:\Projects\Tickle\application\models\Application\Model\User.php): failed to open stream: No such file or directory
它试图包括application\models\Application\Model\User.php
. 嗯,它比我预期的要复杂。无论如何,我该如何解决?