Intégrer CodeIgniter dans un site existant

Vous avez déjà un site Web.

Vous voulez garder cet acquis.

Vous avez envie de développer de nouvelles applications avec CodeIgniter.

Don’t panic!

Voici la solution.

Étape 1 – Checklist

Vous devez répondre aux questions suivantes :

(1) quand appeller un controller CodeIgniter, quand appeller une page régulière ?

(2) où placer CodeIgniter sur mon serveur ?

Étape 2 – Upload de CodeIgniter

(1) Uploadez le dossier system à la racine de votre serveur, renommez le CodeIgniter si vous avez déjà un dossier système.

(2) Uploadez index.php également à la racine du serveur en l’appellant codeigniter.php

Le cas échéant, remplacer $system_folder = “system”; par le nom du dossier réglé en (1).

Étape 3 – Appel de CodeIgniter

CAS 1 – Vos pages sont include depuis index.php

Rassurez-moi, vous gérez bien le cas des erreurs 404 ?

Pour Espace Win, lorsque Pluton rencontre une url /welcome il vérifie si le dossier welcome existe.

Si vous avez peu de controller, au lieu de perdre quelques millisecodnes dans le code ci-dessous, n’hésitez pas à les perdre en mod_rewrite (cas n° 2).

Bon imaginons que vous stockez le sous répertoire de l’url, ici welcome, dans $dir :

Pour inclure, il existe plusieurs solutions, la plus simple étant : include(“http://www.votresite.com/igniter.php/$url”);

Oui sauf que votre framework gère les appels db, l’authentification, … donc vous souhaitez inclure igniter.php directement.

Vous remarquez que dans notre exemple, nous avons define(“CI_URI_STRING”, $dir) au lieu de $_SERVER‘PATH_INFO’ = $dir;

Si comme nous, vous n’avez pas envie de toucher à PATH_INFO, REQUEST_STRING & consort, par exemple parce que la suite de votre application l’utilise, vous pouvez demander à CodeIgniter de lire cette constante CI_URL_STRING en ajoutant dans la fonction _get_uri_string de libraries/Router.php (aux alentours de la ligne 290 pour CodeIgniter 1.5) :

Notez que rien ne vous empêche également d’utiliser ceci si vous ne voulez pas modifier CodeIgniter :

CAS 2 – Vous souhaitez réécrire les URL (mod_rewrite)

Imaginons que vous ayez deux controllers, Welcome et Quux.

Leurs url respectives commencent par /welcome et /quux.

Réécrivons les url en /igniter.php/welcome ou /igniter.php/quux/…

One thought on Intégrer CodeIgniter dans un site existant

  1. Cela signifie que vous pouvez développer une application dans le framework PHP de votre choix pour ensuite l’intégrer à Espace Win.

    Par ailleurs, Pluton accepte aussi les CGI et plusieurs scripts sont déjà en TCL ou en Perl.

    À vos devs 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.