Créer et Exécuter un Projet CodeIgniter
Qu'est-ce que CodeIgniter ?
CodeIgniter est un framework PHP léger adapté au développement rapide et efficace d'applications web. Il suit le modèle de conception MVC (Model-View-Controller), offrant un ensemble riche de fonctionnalités et d'outils qui permettent aux développeurs de créer rapidement des applications web de haute qualité. Connu pour sa simplicité, ses hautes performances et sa facilité d'apprentissage, CodeIgniter est un choix populaire parmi les développeurs.
Caractéristiques et Avantages Principaux de CodeIgniter
- Léger : Le système central de CodeIgniter est très petit, ne contenant que les composants nécessaires, ce qui le rend très rapide à charger.
- Haute Performance : CodeIgniter est renommé pour ses performances efficaces et sa vitesse, capable de gérer une haute concurrence.
- Facile à Apprendre : Fournit une API simple et facile à utiliser, ainsi qu'une documentation complète, permettant aux développeurs de démarrer rapidement.
- Flexibilité : Permet aux développeurs de choisir et d'utiliser librement des bibliothèques et plugins tiers, rendant les extensions et personnalisations pratiques.
- Forte Communauté de Support : Il existe une communauté active de développeurs et une richesse d'extensions tierces.
CodeIgniter peut aider les développeurs à créer rapidement des applications web performantes et de haute qualité, adaptées à des projets de toute taille.
Créer et Exécuter un Projet CodeIgniter en Utilisant ServBay
Dans cet article, nous utiliserons l'environnement PHP de ServBay pour créer et exécuter un projet CodeIgniter. Nous utiliserons la fonction « Host » de ServBay pour configurer le serveur web et accéder au projet via une configuration simple.
Note : Si vous étiez un utilisateur de NGINX ou Apache
ServBay utilise Caddy comme serveur web par défaut. Pour les utilisateurs migrant de NGINX et Apache vers ServBay, il y a quelques modifications clés à noter :
Configuration de Caddy
Caddy est déjà intégré dans ServBay, et la configuration par défaut a été optimisée et déboguée. Les développeurs n'ont besoin que de gérer le site via la fonction « Host » de ServBay sans modifier manuellement les fichiers de configuration de Caddy.
Règles de Réécriture et .htaccess
Dans NGINX et Apache, les développeurs doivent habituellement écrire leurs propres règles de réécriture et fichiers .htaccess pour la réécriture d'URL et d'autres configurations. Cependant, avec ServBay, les règles pour Caddy sont préconfigurées, ce qui signifie que, sauf en cas de besoin spécial, les développeurs n'ont pas besoin d'écrire ces règles eux-mêmes.
En Savoir Plus
Pour plus d'informations, veuillez vous référer à Règles de Réécriture et htaccess, Comment Migrer un Site Apache vers ServBay, Comment Migrer un Site NGINX vers ServBay.
Créer un Projet CodeIgniter
TIP
ServBay recommande aux développeurs de placer leurs sites web dans le répertoire /Applications/ServBay/www
pour une gestion plus facile.
Installer Composer
Composer est préinstallé avec ServBay, donc il n'est pas nécessaire de l'installer séparément.
Créer un Projet CodeIgniter
Utilisez Composer pour créer un nouveau projet CodeIgniter :
bashcd /Applications/ServBay/www mkdir servbay-codeigniter-app cd servbay-codeigniter-app composer create-project codeigniter4/appstarter .
1
2
3
4Entrer dans le Répertoire du Projet
Entrez dans le nouveau répertoire du projet CodeIgniter :
bashcd /Applications/ServBay/www/servbay-codeigniter-app
1
Configuration Initiale
Configurer la Connexion à la Base de Données
Configurez les paramètres de connexion à la base de données dans le fichier
app/Config/Database.php
:phppublic $default = [ 'DSN' => '', 'hostname' => '127.0.0.1', 'username' => 'root', 'password' => 'password', 'database' => 'servbay_codeigniter_app', 'DBDriver' => 'MySQLi', 'DBPrefix' => '', 'pConnect' => false, 'DBDebug' => (ENVIRONMENT !== 'production'), 'charset' => 'utf8mb4', 'DBCollat' => 'utf8mb4_general_ci', 'swapPre' => '', 'encrypt' => false, 'compress' => false, 'strictOn' => false, 'failover' => [], 'port' => 3306, ];
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Configurer le Serveur Web
Utilisez la fonction "Host" de ServBay pour accéder au projet CodeIgniter via le serveur web. Ajoutez un nouvel hôte dans les paramètres "Host" de ServBay :
- Nom :
My First CodeIgniter Dev Site
- Domaine :
servbay-codeigniter-test.local
- Type de Site :
PHP
- Version PHP : Sélectionnez
8.3
- Répertoire Racine du Site :
/Applications/ServBay/www/servbay-codeigniter-app/public
Pour des étapes de configuration détaillées, veuillez vous référer à Ajouter un Premier Site Web.
Ajouter un Code Exemple
Ajoutez le code suivant dans le fichier app/Controllers/Home.php
:
namespace App\Controllers;
use CodeIgniter\Controller;
class Home extends Controller
{
public function index()
{
return 'Hello ServBay!';
}
public function memcached()
{
$cache = \Config\Services::cache();
$cache->save('key', 'Hello Memcached!', 60);
$value = $cache->get('key');
return $value;
}
public function redis()
{
$redis = \Config\Services::cache();
$redis->set('key', 'Hello Redis!');
$value = $redis->get('key');
return $value;
}
public function mysqlAdd()
{
$db = \Config\Database::connect();
$db->table('users')->insert([
'name' => 'ServBay',
'email' => '[email protected]',
]);
return 'User added';
}
public function mysql()
{
$db = \Config\Database::connect();
$users = $db->table('users')->get()->getResult();
return json_encode($users);
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
Accéder au Site Web
Ouvrez votre navigateur et visitez l'URL suivante :
https://servbay-codeigniter-test.local
: Vous verrez la page affichantHello ServBay!
.
Exemples de Bases de Données NoSQL
Exemple Memcached
Installer l'Extension Memcached
L'extension Memcached est préinstallée dans ServBay, donc aucun installation supplémentaire n'est nécessaire.
Configurer Memcached
Configurez les informations de connexion Memcached dans le fichier
app/Config/Cache.php
:phppublic $memcached = [ 'host' => '127.0.0.1', 'port' => 11211, 'weight' => 1, ];
1
2
3
4
5Utiliser Memcached
Utilisez le cache dans le contrôleur :
phppublic function memcached() { $cache = \Config\Services::cache(); $cache->save('key', 'Hello Memcached!', 60); $value = $cache->get('key'); return $value; }
1
2
3
4
5
6
7Ajouter une route dans
app/Config/Routes.php
:php$routes->get('/memcached', 'Home::memcached');
1Ouvrez un navigateur et visitez https://servbay-codeigniter-test.local/memcached
Exemple Redis
Installer l'Extension Redis
L'extension Redis est préinstallée dans ServBay, donc aucune installation supplémentaire n'est nécessaire.
Configurer Redis
Configurez les informations de connexion Redis dans le fichier
app/Config/Cache.php
:phppublic string $handler = 'redis'; public $default = [ 'host' => '127.0.0.1', 'password' => null, 'port' => 6379, 'timeout' => 0, 'database' => 0, ];
1
2
3
4
5
6
7
8
9Utiliser Redis
Utilisez le cache dans le contrôleur :
phppublic function redis() { $redis = \Config\Services::cache(); $redis->save('key', 'Hello Redis!'); $value = $redis->get('key'); return $value; }
1
2
3
4
5
6
7Ajouter une route dans
app/Config/Routes.php
:php$routes->get('/redis', 'Home::redis');
1Ouvrez un navigateur et visitez https://servbay-codeigniter-test.local/redis
Exemples de Bases de Données Relationnelles
Exemple MySQL
Configurer MySQL
Configurez les informations de connexion MySQL dans le fichier
app/Config/Database.php
:phppublic $default = [ 'DSN' => '', 'hostname' => '127.0.0.1', 'username' => 'root', 'password' => 'password', 'database' => 'servbay_codeigniter_app', 'DBDriver' => 'MySQLi', 'DBPrefix' => '', 'pConnect' => false, 'DBDebug' => (ENVIRONMENT !== 'production'), 'charset' => 'utf8mb4', 'DBCollat' => 'utf8mb4_general_ci', 'swapPre' => '', 'encrypt' => false, 'compress' => false, 'strictOn' => false, 'failover' => [], 'port' => 3306, ];
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19Créer un Fichier de Migration
Utilisez l'outil CLI de CodeIgniter pour créer un fichier de migration :
bashphp spark make:migration create_users_table
1Modifier le Fichier de Migration
Trouvez le fichier de migration nouvellement créé dans le répertoire
app/Database/Migrations
et modifiez-le pour définir la structure de la table de la base de données :phpuse CodeIgniter\Database\RawSql; public function up() { $this->forge->addField([ 'id' => [ 'type' => 'INT', 'constraint' => 5, 'unsigned' => true, 'auto_increment' => true, ], 'name' => [ 'type' => 'VARCHAR', 'constraint' => '100', ], 'email' => [ 'type' => 'VARCHAR', 'constraint' => '100', 'unique' => true, ], 'created_at' => [ 'type' => 'TIMESTAMP', 'default' => new RawSql('CURRENT_TIMESTAMP'), ], 'updated_at' => [ 'type' => 'TIMESTAMP', 'default' => new RawSql('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'), ], ]); $this->forge->addKey('id', true); $this->forge->createTable('users'); }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32Exécuter la Migration
Utilisez la commande de migration de CodeIgniter pour exécuter la migration et créer la table de la base de données :
bashphp spark migrate
1Ajouter une Route
Ajoutez les routes suivantes dans
app/Config/Routes.php
:php$routes->get('/mysql-add', 'Home::mysqlAdd'); $routes->get('/mysql', 'Home::mysql');
1
2Insérer des Données Utilisateur
Insérez des données utilisateur dans le contrôleur :
phppublic function mysqlAdd() { $db = \Config\Database::connect(); $db->table('users')->insert([ 'name' => 'ServBay', 'email' => '[email protected]', ]); return 'User added'; }
1
2
3
4
5
6
7
8
9Utiliser MySQL
Appelez la base de données dans le contrôleur :
phppublic function mysql() { $db = \Config\Database::connect(); $users = $db->table('users')->get()->getResult(); return json_encode($users); }
1
2
3
4
5
6Ouvrez un navigateur et visitez
https://servbay-codeigniter-test.local/mysql-add
ethttps://servbay-codeigniter-test.local/mysql
Exemple PostgreSQL
Configurer PostgreSQL
Configurez les informations de connexion PostgreSQL dans le fichier
app/Config/Database.php
:phppublic $default = [ 'DSN' => '', 'hostname' => '127.0.0.1', 'username' => 'root', 'password' => 'password', 'database' => 'servbay_codeigniter_app', 'DBDriver' => 'Postgre', 'DBPrefix' => '', 'pConnect' => false, 'DBDebug' => (ENVIRONMENT !== 'production'), 'charset' => 'utf8', 'DBCollat' => 'utf8_general_ci', 'swapPre' => '', 'encrypt' => false, 'compress' => false, 'strictOn' => false, 'failover' => [], 'port' => 5432, ];
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19Créer un Fichier de Migration
Utilisez l'outil CLI de CodeIgniter pour créer un fichier de migration :
bashphp spark make:migration create_users_table
1Modifier le Fichier de Migration
phpuse CodeIgniter\Database\RawSql; public function up() { $this->forge->addField([ 'id' => [ 'type' => 'INT', 'constraint' => 5, 'unsigned' => true, 'auto_increment' => true, ], 'name' => [ 'type' => 'VARCHAR', 'constraint' => '100', ], 'email' => [ 'type' => 'VARCHAR', 'constraint' => '100', 'unique' => true, ], 'created_at' => [ 'type' => 'TIMESTAMP', 'default' => new RawSql('NOW()'), ], 'updated_at' => [ 'type' => 'TIMESTAMP', 'default' => new RawSql('NOW()'), ], ]); $this->forge->addKey('id', true); $this->forge->createTable('users'); }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32Exécuter la Migration
Utilisez la commande de migration de CodeIgniter pour exécuter la migration et créer la table de la base de données :
bashphp spark migrate
1Ajouter des Routes
Ajoutez les routes suivantes dans
app/Config/Routes.php
:php$routes->get('/pgsql-add', 'Home::pgsqlAdd'); $routes->get('/pgsql', 'Home::pgsql');
1
2Insérer des Données Utilisateur
Insérez des données utilisateur dans le contrôleur :
phppublic function pgsqlAdd() { $db = \Config\Database::connect(); $db->table('users')->insert([ 'name' => 'ServBay', 'email' => '[email protected]', ]); return 'User added'; }
1
2
3
4
5
6
7
8
9Utiliser PostgreSQL
Appelez la base de données dans le contrôleur :
phppublic function pgsql() { $db = \Config\Database::connect(); $users = $db->table('users')->get()->getResult(); return json_encode($users); }
1
2
3
4
5
6Ouvrez un navigateur et visitez
https://servbay-codeigniter-test.local/p;pgsql-add
ethttps://servbay-codeigniter-test.local/pgsql
Grâce aux étapes ci-dessus, vous avez créé et exécuté avec succès un projet CodeIgniter, utilisé les fonctionnalités de ServBay pour gérer et accéder à votre projet, et connecté à plusieurs bases de données pour interagir avec les données. J'espère que cet article vous aidera à démarrer rapidement avec CodeIgniter et à l'appliquer à vos projets.