Code Igniter la base

Code Igniter la base

sommaire :

  1. Mise en place de Code Igniter
  2. La Base de Code Igniter
  3. La gestion d'url par Code Igniter
 

CodeIgniter est un Framework Php, il est très simple d’utilisation, il permet de créer des applications très rapidement, tout en respectant le model MVC.

Pour commencer, il faut télécharger CodeIgniter sur le site www.CodeIgniter.com.

Normalement vous avez un fichier compressé CodeIgniter_xx.xx.xx.zip.


L’installation Code Igniter

Nous allons ensuite créer notre dossier pour notre site web (dans le dossier www ). Je l’appellerai « monsite ». Il faut décompresser le fichier CodeIgniter_1.6.2.zip.

Puis, Il faut récupérer son contenu et le glisser tout simplement dans votre dossier « monsite ».

Voila, il est installé ! Pour voir si CI fonctionne bien, il faut aller sur ces urls :

Et voila ce que votre navigateur doit afficher :

code igniter installation

code igniter installation

Super tout fonctionne ! :)


L’ arborescence



On va aller sur le dossier www pour voir l’arborescence de votre site. La racine de l’arborescence de Code Igniter soit rassembler à cela :

arborescence code igniter

arborescence code igniter

Nous allons nous intéresser au dossier system.

arborescence code igniter system

arborescence code igniter system

Maintenant nous allons sur le dossier application. C’est ici que nous allons développer notre site web.

arborescence code igniter scenario

arborescence code igniter scenario

Il y a deux dossiers importants :
- controllers où sont stockés les contrôleurs
- views où sont stockées les vues


Bon comment ça marche tout ça ??


En fait, le contrôleur assure le traitement de données, pour ensuite les donner à la vue. La vue se charge ensuite de traiter l’affichage.


La Base de Code Igniter

On va commencer par construire une page d’accueil toute banale.

Il faut aller dans ce fameux dossier controllers pour créer notre premier contrôleur.
Nommons le accueil.php. (le nom du contrôleur doit être en minuscule)

Un contrôleur est une simple classe php.

Le nom du contrôleur doit systématiquement commencer par une majuscule. Ce contrôleur(accueil.php) doit aussi hériter de la classe mère de Code Igniter qui est Controller. Cela sert à charger toute les fonctions de Code Igniter.

Dans acceuil.php, nous allons créer une fonction index qui va afficher un message.

class Accueil extends Controller {

function index(){
echo "Salut, cela fonctionne bien ";
}
}

Allons voir si ce code marche.:) Pour cela, rien de plus simple, il suffit d’ouvrir le navigateur et de saisir l’adresse suivante :
http://localhost/monsite/index.php/accueil/index


Composition de l’url de Code Igniter

Pour trouver l’adresse url de notre fonction.


Il faut déjà taper l’adresse de notre site soit :
http://localhost/monsite/index.php
Puis le nom du contrôleur :
/accueil
Et enfin le nom de la fonction
/index


Donc normalement vous voyez votre navigateur afficher :
« Salut, cela fonctionne bien »

Bon la on a triché un peu :) . On a affiché un message a partir du contrôleur, alors que l’affichage des données doit être le rôle de la vue (views pour CI)…

La vue de Code Igniter

Donc nous allons dans le dossier views du dossier application.
Nous allons créer notre vue « accueil_view.php ».

Voila l’arborescence que l’on doit avoir :

arborescence code igniter

arborescence code igniter

Personne ne s’est trompé de dossier ? :)
On peu continuer.

Le rôle de notre vue accueil_view.php c’est d’afficher la page d’accueil.
Nous allons donc coder une page html toute basic

<html>
<head><title>Accueil<title></head>
<body><h1>Bienvenue !</h1></body>
</html>

Le contrôleur de Code Igniter

Maintenant faut indiquer à notre contrôleur, le chemin de notre vue pour qu’il fasse appel à elle.
On retourne donc dans notre contrôleur accueil.
On va utiliser cette commande :
$this->load->view([nom de la vue]);

Donc vous l’avez deviné ! Nous on faire écrire :
$this->load->view(« accueil_view.php »);

class Accueil extends Controller {

function index(){

$this->load->view("accueil_view.php");
}

}

En plus que faire appel à la vue, notre contrôleur va définir l’entête de la page et son titre. Pour cela rien de plus simple : On met les données nécessaires dans un tableau associatif (on va le nommer $aTableau),

Pour l’entête :
$aTableau['entete']=’Accueil’;

Pour le titre :
$aTableau['titre']=’Bienvenue’;


Maintenant il faut attacher le tableau associatif à la vue.
Pour cela, onva modifier l’appel de la commande load->view(),
pour ajouter un nouvel attribut qui sera le nom de notre tableau associatif

C’est-à-dire :
Au lieu de faire cette appel
$this->load->view(« accueil_view.php »);
On fait ceele-ci
$this->load->view(« accueil_view.php »,$aTableau);


Notre code source doit normalement ressembler à sa :

class Accueil extends Controller {
function index(){
$aTableau['sEntete']='Accueil';
$aTableau['sTitre']='Bienvenue';
$this->load->view("accueil_view.php",$aTableau);
}
}

Maintenant que le contrôleur envoie les données à la vue.
La vue va faire son boulot à son tour. :)
C’est-à-dire elle va l’afficher !

Pour cela on remplace le texte par les balises php.

<html>
<head><title><?php echo $sEntete ?><title></head>
<body><h1><?php echo $sTitre ?></h1></body>
</html>

On utilise la commande traditionnelle echo pour afficher texte.
Et pour choisir la donnée à affichée on récupère la clé du tableau associatif et on ajoute un $. (comme une variable php).

Normalement notre page reste la même.


L’affichage de tableau dans Code Igniter

Maintenant on va afficher un tableau dans notre page d’accueil. :)
Pour cela il faut créer notre tableau dans le contrôleur. ( dans cet exmeple, on va dire que l’on va lister un groupe d’amis.)

$aTableau['aListeAmis']=array('Jean','Sophie','Pascal','Agnes');

Maintenant on va afficher la liste de nos amis sur la vue. Pour cela on utilisera la commande foreach.

<?php foreach($aListeAmis as $sAmi): ?>
<?php echo $sAmi ?>
<br />
<?php endforeach; ?>

Tout le monde a bien suivit ?


La gestion d’url par Code Igniter

On va attaquer un autre élément important présent dans tous les sites web ; les liens hypertext.

Comme vous pouvez l’imaginez CI utilise une librairie pour manipuler ces liens. Pour cela, il a besoin qu’on lui indique la racine url de notre site (http://localhost/monsite). Il faut aller dans les fichiers de configurations de Code Igniter. On sa donc faire un saut dans le dossier application pour aller dans le dossier config et enfin ouvrir le fichier config.php.

arborescence code igniter config

arborescence code igniter config

Vous avez bien suivit le plan ? :)

Comme vous le constatez, les paramètres de configuration de CI sont stockés dans un tableau associatif. Normalement au début du fichier php vous devez voir une variable $config['base_url'].
C’est ici que l’on va définir le chemin de notre site web.


Par défaut :
$config['base_url'] = « http://127.0.0.1/CodeIgniter/ »;

Nous allons remplacer par :
$config['base_url'] = « http://localhost/monsite »;

Voila, notre code igniter est configuré pour manipuler les liens :)

On va retourner dans notre contrôleur.

Comme on utilise la librairie qui manipule les urls, il faut la charger.

La commande pour charger la librairie c’est :

$this->load->helper(‘url’);


Maintenant que c’est charger on va pourvoir retourner dans la vue pour créer enfin notre lien hypertext.

Comme on a fait une seul page, on va rediriger notre lien sur cette même page.
Nous allons utiliser la commande anchor.
Voici le code :

La commande anchor à besoin de deux paramètre :
1. l’adresse du lien
2. le texte du lien

Pour alléger la vue

Pour l’affichage, on peut remplacer le traditionnel <?php echo $sAmi ?>
Par <?=$sAmi?>

Ce qui donne au final :

<html>
<head><title><?=$sEntete?><title></head>
<body>
<h1><?=$sTitre?></h1>
<br/>
<?php foreach($aListeAmis as $sAmi):?>
<?=$sAmi?>
<br />
<?php endforeach;?>
<?=anchor('accueil/index','lien');?>
</body>
</html>

Note de l'article




1 Star2 Stars3 Stars4 Stars5 Stars (7 votes, moyenne: 4,57 max : 5)
Loading ... Loading ...

  1. Vincent François Says:

    Excellent petit tutoriel. Merci.

  2. Eve Van Montagu Says:

    claire et précis, merci.

  3. Framework PHP : CodeIgniter « FrameLinks Says:

    [...] a blog in 20 minutes) - Documentation en Français - Ressources et Tutoriels CodeIgniter - CodeIgniter Les Bases Tags : CodeIgniter – Framework – MVC – PHP Rubriques : [...]

  4. Pauline Says:

    Super tuto, très clair… Merci beaucoup !!

Donner votre avis :