Intégrer Doctrine dans CodeIgniter

Le but de ce Tutoriel et de montrer comment utilisé Doctrine avec CodeIgniter.

  1. Téléchargement et Installation de CodeIgniter :
  2. L’installation est facile, il suffit de telecharger CodeIgniter à partir d’ici puis décompresser le fichier sous le dossier root de serveur apache, dans mon cas j’utilise xampp donc le chemin ç sera :  C:\xampp\htdocs\monprojetCodeIgniter\.

  3. Téléchargement et Installation de Doctrine :
  4. L’intégration de Doctrine dans CodeIgneter est facile et ne prend pas beaucoup de temps, il suffit de suivre le démarche.
    On commence par le téléchargement de doctrine.
    Puis on décompresse le fichier et copier le contenue de dossier ‘lib’ sous le dossier ‘system\database\ de notre projet CodeIgneter, dans un dossier nommé ‘doctrine’.

    Après, on modifie le fichier de ‘database.php’ de dossier ‘system\application\config’, en ajoutant après la ligne qui contient

    $db['default']['cachedir'] = ""

    Ce code :

    $db['default']['dsn'] = $db['default']['dbdriver'] .
    '://' . $db['default']['username'] .
    ':' . $db['default']['password'].
    '@' . $db['default']['hostname'] .
    '/' . $db['default']['database'];

    // Require Doctrine.php
    require_once(realpath(dirname(__FILE__) . ‘/../..’) . DIRECTORY_SEPARATOR . ‘database/doctrine/Doctrine.php’);

    // Set the autoloader
    spl_autoload_register(array(‘Doctrine’, ‘autoload’));

    // Load the Doctrine connection
    Doctrine_Manager::connection($db[‘default’][‘dsn’], $db[‘default’][‘database’]);

    // Set the model loading to conservative/lazy loading
    Doctrine_Manager::getInstance()->setAttribute(‘model_loading’, ‘conservative’);

    // Load the models for the autoloader
    Doctrine::loadModels(realpath(dirname(__FILE__) . ‘/..’) . DIRECTORY_SEPARATOR . ‘models’);

    Pour Terminer, On ajouter cette ligne à la fin de fichier ‘index.php’ qui se trouve au racine de notre projet :

    require_once APPPATH.'config/database.php';

    Avant cette ligne :

    require_once BASEPATH.'codeigniter/CodeIgniter'.EXT;

    Comme ça on a bien intégré Doctrine Dans CodeIgneter, on verra après comment créer l’interface ligne de commande pour Doctrine.