====== CodeIgniter ====== ===== Définition ===== 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. [[https://codeigniter.com/user_guide/ ]] ===== Structure ===== CodeIgniter suit une architecture MVC qui se compose de trois parties principales : * **Modèle (Model) :** Gère l'accès aux données et aux bases de données. * **Vue (View) :** Gère l'affichage des informations à l'utilisateur. * **Contrôleur (Controller) :** Fait le lien entre le Modèle et la Vue en gérant la logique de l'application. 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. ---- ===== Installation ===== ==== 1. Prérequis ==== Avant d'installer CodeIgniter, assurez-vous d'avoir : * PHP 7.4 ou supérieur. * Composer (gestionnaire de dépendances PHP). * Une base de données compatible (MySQL, PostgreSQL, SQLite, etc.). ==== 2. Installer CodeIgniter ==== 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. ==== 3. Lancer le serveur de développement ==== Placez-vous dans le dossier du projet et exécutez : php spark serve L'application sera alors accessible via ''http://localhost:8080.'' ---- ===== Configuration ===== ==== Mode development/production ==== CodeIgniter propose plusieurs modes d'exécution : * **Development :** Affiche les erreurs et facilite le débogage. * **Production :** Cache les erreurs pour un environnement en ligne. Pour changer de mode, modifiez le fichier ''.env'' : CI_ENVIRONMENT = production ou development ==== Paramètres généraux ==== 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. ==== 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 ==== Routes ==== 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é.