CodeIgniter

Présentation

CodeIgniter est un framework PHP qui se veut léger et donc plus rapide que Symfony.

Comme la majorité des frameworks PHP il suit l’architecture MVC : Modèle Vue Contrôleur, mais pour des raisons de simplicité on peut se contenter d’utiliser les blocs Vue et Contrôleur, le contrôleur assure la logique de gestion des données.

Code Igniter 3

Quick start

Code SQL pour insérer des news dans la table news :

INSERT INTO `news` (`id`, `title`, `slug`, `text`) VALUES (NULL, 'Bonne année', 'bonne-annee', 'Vive 2021, santé bonheur à tous');
INSERT INTO `news` (`id`, `title`, `slug`, `text`) VALUES (NULL, 'Trump Out', 'trump-out', 'Adieu Trump, vive Biden') ;

Les sections ci-dessous sont juste des notes par rapport au tutorial proposé dans la doc.

Création d’une page statique

  • Créer un contrôleur dans application/controllers
  • Créer une vue (template) dans application/views
  • Créer la route pour accéder à la page

Création d’une page dynamique

  • Créer le modèle dans application/models
  • Créer un contrôleur dans application/controllers
  • Créer une vue (template) dans application/views
  • Créer la route pour accéder à la page

Rewrite URL serveur apache

Par rapport au tutorial, pour supprimer la partie index.php présent dans toute les routes, il faut ajouter une directive au serveur. Si c’est un serveur Apache :

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>

Explications rewrite apache dans la documentation.

Déploiement sur hébergeur

  • Modifier config.php → $baseURL
  • Modifier les identifiants de connexion database.php
  • Uploader l’ensemble dossier dans le dossier

Code Igniter 4

La structure de l’application est assez différente. Aussi un serveur est fourni pour faciliter le développement. A la date de ces notes la version 4.0.4 est assez récente et toutes les librairies de la version 3 n’ont pas encore été portées.

Attention, il se peut que votre antivirus bloque le serveur fournit, il faut dans ce cas ajouter une exception.

Ressources