CodeIgniter est un framework PHP open-source destiné au développement d'applications web dynamiques. Il est léger, performant et suit le motif de conception MVC (Modèle-Vue-Contrôleur). Son principal avantage est sa facilité d'installation et sa rapidité d'exécution, le rendant idéal pour les développeurs cherchant une solution efficace et simple d'utilisation.
CodeIgniter suit une architecture MVC qui se compose de trois parties principales :
Le projet CodeIgniter comprend les dossiers suivants :
app/ : Contient les fichiers du projet (contrôleurs, modèles, vues, etc.).public/ : Dossier accessible publiquement (contient l'index principal).system/ : Contient le cœur du framework.writable/ : Contient les fichiers temporaires et de cache.Avant d'installer CodeIgniter, assurez-vous d'avoir :
Exécutez la commande suivante dans le terminal :
composer create-project codeigniter4/appstarter nom_du_projet
Cela va télécharger et configurer la dernière version de CodeIgniter 4.
Placez-vous dans le dossier du projet et exécutez :
php spark serve
L'application sera alors accessible via http://localhost:8080.
CodeIgniter propose plusieurs modes d'exécution :
Pour changer de mode, modifiez le fichier .env :
CI_ENVIRONMENT = production ou development
Certains fichiers permettent de configurer l'application :
app/Config/App.php : Configuration principale (URL, timezone, etc.).app/Config/Database.php : Paramètres de connexion à la base de données.
Pour configurer la connexion à une base de données, modifiez
app/Config/Database.php :
public $default = [
'DSN' => '',
'hostname' => 'localhost',
'username' => 'root',
'password' => '',
'database' => 'nom_de_la_base',
'DBDriver' => 'MySQLi',
'DBPrefix' => '',
'pConnect' => false,
'DBDebug' => true,
];
Pour exécuter des migrations :
php spark migrate
CodeIgniter utilise un système de routage dans app/Config/Routes.php :
$routes->get('/', 'Home::index');
$routes->get('contact', 'Pages::contact');
$routes->post('send-message', 'Messages::send');
Il est possible de créer des routes dynamiques et de définir des filtres de sécurité.