====== 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é.