2010-12-22 10 views
1

ich Setup automatischen Laden in meinem ZF/Doctrine2 app alsSkurrilitäten beim Mischen Zend Framework 1.11 & Lehre 2 Autoloader

$zendAutoloader = Zend_Loader_Autoloader::getInstance(); 

$autoloader = array(new ClassLoader('Symfony'), 'loadClass'); 
$zendAutoloader->pushAutoloader($autoloader, 'Symfony'); 
$autoloader = array(new ClassLoader('Doctrine'), 'loadClass'); 
$zendAutoloader->pushAutoloader($autoloader, 'Doctrine'); 
$autoloader = array(new ClassLoader('Application', realpath(__DIR__ . '/..')), 'loadClass'); 
$zendAutoloader->pushAutoloader($autoloader, 'Application'); 

$autoloader = array(new ClassLoader('DoctrineExtensions'), 'loadClass'); 
$zendAutoloader->pushAutoloader($autoloader, 'DoctrineExtensions'); 

folge Ich finde, dass die DoctrineExtensions autoloading nicht funktioniert, während andere Klassen sind ... zu überprüfen dass der Pfad usw. richtig sind, habe ich versucht

$autoloader = new ClassLoader('DoctrineExtensions'); 
$autoloader->register(); 

Und es funktioniert. Es scheint also etwas mit Zend Framework zu tun zu haben?

Antwort

2

Nun passt der Autoloader "Doctrine" wahrscheinlich bereits zu den DoctrineExtensions-Klassen. Sie müssen sie entsprechend neu anordnen.

+0

danke das macht den Trick. das ist seltsam, dass "DoctrineExtensions" mit "Doctrine" durcheinander gebracht werden kann. Sie beginnen mit dem gleichen Ding, aber sie sind andere Wörter. Ich habe erwartet, dass sie 'Doctrine \ xxx' und' DoctrineExtensions \ xxx' entsprechen –