CodeIgniter ist ein PHP-Framework welches sehr schlank ist und das Erstellen von Webanwendungen ungemein erleichtert. Es wird von der Firma EllisLab entwickelt und ist vorallem auf eine hohe Performance ausgelegt.
Doctrine dagegen ist ein OR-Mapper für PHP. Ein OR-Mapper bildet Relationen einer Datenbank, z.B. MySQL auf Objekte ab. Der bekannteste OR-Mapper ist wohl Hibernate für JAVA.
Da CodeIgniter kein OR-Mapping unterstützt gibt es auf phpandstuff.com ein wunderbares Tutorial um diese beiden Frameworks miteinander zu verbinden.
Wer dieses Tutorial durchgearbeitet hat, sollte die doctrine_pi.php noch ein wenig anpassen. Es kann teilweise nämlich vorkommen, das einige BaseModels nicht geladen werden können. Folgende Zeile muss angepasst werden.
Doctrine::loadModels(APPPATH.'/models');
ändern in
Doctrine::loadModels(array(APPPATH.'/models/generated', APPPATH.'/models'));
So wird sichergestellt, das die BaseModels vor den eigentlichen Models geladen werden.