Créer et exécuter un projet FuelPHP
Qu'est-ce que FuelPHP ?
FuelPHP est un framework PHP flexible et modulaire, adapté au développement d'applications Web modernes. Il suit le modèle de conception HMVC (Hierarchical Model-View-Controller) et offre une riche palette de fonctionnalités et d'outils permettant aux développeurs de construire rapidement des applications Web de haute qualité. FuelPHP est connu pour sa flexibilité, ses performances élevées et sa facilité d'extension, faisant de lui un framework de choix pour de nombreux développeurs.
Principales caractéristiques et avantages de FuelPHP
- Architecture HMVC : Supporte le modèle de conception MVC hiérarchique, facilitant la réutilisation de code et le développement modulaire.
- Hautes performances : FuelPHP est réputé pour son efficacité et sa vitesse, capable de traiter de nombreuses requêtes en simultané.
- Facilité d'extension : Offrant de nombreux mécanismes d'extension, les développeurs peuvent aisément ajouter des fonctionnalités personnalisées.
- Sécurité : Intègre plusieurs fonctionnalités de sécurité comme la validation des entrées, le filtrage des sorties, la protection CSRF, etc.
- Communauté active : Dispose d'une communauté de développeurs active et de nombreuses extensions tierces.
FuelPHP permet aux développeurs de créer rapidement des applications Web performantes et de haute qualité, adaptées à des projets de toutes tailles.
Créer et exécuter un projet FuelPHP avec ServBay
Dans cet article, nous utiliserons l'environnement PHP fourni par ServBay pour créer et exécuter un projet FuelPHP. Nous utiliserons la fonctionnalité "Host" de ServBay pour configurer le serveur Web et accéder au projet avec une simple configuration.
Remarque : Si vous êtes un ancien utilisateur de NGINX ou Apache
ServBay utilise par défaut Caddy comme serveur Web. Pour les utilisateurs migrés de NGINX et Apache vers ServBay, il y a quelques points clés à noter :
Configuration de Caddy
ServBay inclut déjà Caddy avec des configurations optimisées. Les développeurs n'ont qu'à gérer les sites via la fonctionnalité "Host" de ServBay, sans avoir à modifier manuellement les fichiers de configuration de Caddy.
Règles de réécriture et .htaccess
Dans NGINX et Apache, les développeurs devaient souvent écrire leurs propres règles de réécriture et fichiers .htaccess pour gérer la réécriture des URL et d'autres configurations. Cependant, ServBay inclut déjà des règles configurées pour Caddy, sauf pour des besoins spécifiques, les développeurs n'ont donc pas à écrire ces règles par eux-mêmes.
En savoir plus
Pour plus d'informations, consultez Rewrite et htaccess, Migrer un site Apache vers ServBay, Migrer un site NGINX vers ServBay.
Créer un projet FuelPHP
TIP
ServBay recommande de placer les sites Web dans le répertoire /Applications/ServBay/www
pour une gestion facile.
Installer Composer
ServBay inclut Composer pré-installé, ainsi pas besoin de l'installer séparément.
Créer un projet FuelPHP
Utiliser Composer pour créer un nouveau projet FuelPHP :
bashcd /Applications/ServBay/www mkdir servbay-fuelphp-app cd servbay-fuelphp-app composer create-project fuel/fuel .
1
2
3
4Entrer dans le répertoire du projet
Entrer dans le répertoire du nouveau projet FuelPHP :
bashcd /Applications/ServBay/www/servbay-fuelphp-app
1
Configuration initiale
Configurer la connexion à la base de données
Configurer les informations de connexion à la base de données dans le fichier
fuel/app/config/development/db.php
:phpreturn [ 'default' => [ 'connection' => [ 'dsn' => 'mysql:host=localhost;dbname=fuel_dev', 'username' => 'root', 'password' => 'root', ], ], ];
1
2
3
4
5
6
7
8
9
Configurer le serveur Web
Utiliser la fonctionnalité "Host" de ServBay pour accéder au projet FuelPHP via un serveur Web. Dans les paramètres "Host" de ServBay, ajouter un nouvel hôte :
- Nom :
My First FuelPHP Dev Site
- Domaine :
servbay-fuelphp-test.local
- Type de site :
PHP
- Version de PHP : Choisir
8.3
- Répertoire racine du site :
/Applications/ServBay/www/servbay-fuelphp-app/public
Pour les étapes détaillées, consultez Ajouter un premier site web.
Ajouter du code d'exemple
Ajouter le code suivant dans le fichier fuel/app/classes/controller/welcome.php
:
use Fuel\Core\Controller;
use Fuel\Core\Response;
use Fuel\Core\Cache;
class Controller_Welcome extends Controller
{
public function action_index()
{
return Response::forge('Hello ServBay!');
}
public function action_memcached()
{
Cache::set('key', 'Hello Memcached!', 60);
$value = Cache::get('key');
return Response::forge($value);
}
public function action_redis()
{
$redis = \Redis::instance();
$redis->set('key', 'Hello Redis!');
$value = $redis->get('key');
return Response::forge($value);
}
public function action_mysql_add()
{
\DB::insert('users')->set([
'name' => 'ServBay',
'email' => '[email protected]',
])->execute();
return Response::forge('User added');
}
public function action_mysql()
{
$users = \DB::select()->from('users')->execute()->as_array();
return Response::forge(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
Accéder au site web
Ouvrir le navigateur et accéder aux URLs suivantes :
https://servbay-fuelphp-test.local
: Vous verrez la page afficherHello ServBay!
.
Exemple de base de données NoSQL
Exemple Memcached
Installer l'extension Memcached
Dans ServBay, l'extension Memcached est déjà préinstallée, pas besoin d'installation supplémentaire.
Configurer Memcached
Configurer les informations de connexion Memcached dans le fichier
fuel/app/config/cache.php
:phpreturn [ 'driver' => 'memcached', 'memcached' => [ 'cache_id' => 'fuel', 'servers' => [ 'default' => [ 'host' => '127.0.0.1', 'port' => 11211, 'weight' => 100, ], ], ], ];
1
2
3
4
5
6
7
8
9
10
11
12
13Ajouter une route
Ajouter les routes suivantes dans le fichier
fuel/app/config/routes.php
:phpreturn array( 'memcached' => 'welcome/memcached', )
1
2
3Utiliser Memcached
Utiliser le cache dans le contrôleur :
phppublic function action_memcached() { Cache::set('key', 'Hello Memcached!', 60); $value = Cache::get('key'); return Response::forge($value); }
1
2
3
4
5
6
7Ouvrir le navigateur et accéder à : https://servbay-fuelphp-test.local/memcached
Exemple Redis
Installer l'extension Redis
Dans ServBay, l'extension Redis est déjà préinstallée, pas besoin d'installation supplémentaire.
Configurer Redis
Configurer les informations de connexion Redis dans le fichier
fuel/app/config/redis.php
:phpreturn [ 'driver' => 'redis', 'redis' => [ 'database' => 'default', ], ];
1
2
3
4
5
6Ajouter une route
Ajouter les routes suivantes dans le fichier
fuel/app/config/routes.php
:phpreturn array( 'redis' => 'welcome/redis', )
1
2
3Utiliser Redis
Utiliser le cache dans le contrôleur :
phppublic function action_redis() { Cache::set('key', 'Hello Redis!', 60); $value = Cache::get('key'); return Response::forge($value); }
1
2
3
4
5
6
7Ouvrir le navigateur et accéder à : https://servbay-fuelphp-test.local/redis
Exemple de base de données relationnelle
Créer la structure de la base de données et les fichiers de migration
Créer un fichier de migration
Utiliser l'outil oil de FuelPHP pour créer un fichier de migration :
bashphp oil g migration create_users_table
1Éditer le fichier de migration
Trouver le fichier de migration nouvellement créé dans le répertoire
fuel/app/migrations
et l'éditer pour définir la structure de la table :php<?php namespace Fuel\Migrations; use Fuel\Core\DBUtil; class Create_users_table { public function up() { DBUtil::create_table('users', [ 'id' => ['type' => 'int', 'constraint' => 11, 'auto_increment' => true], 'name' => ['type' => 'varchar', 'constraint' => 100], 'email' => ['type' => 'varchar', 'constraint' => 100, 'unique' => true], ], ['id']); } public function down() { DBUtil::drop_table('users'); } }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21Exécuter la migration
Utiliser l'outil oil de FuelPHP pour exécuter la migration et créer la table de la base de données :
bashphp oil refine migrate
1
Exemple MySQL
Configurer MySQL
Configurer les informations de connexion MySQL dans le fichier
fuel/app/config/development/db.php
:phpreturn [ 'default' => [ 'connection' => [ 'dsn' => 'mysql:host=localhost;dbname=fuel_dev', 'username' => 'root', 'password' => 'root', ], ], ];
1
2
3
4
5
6
7
8
9Insérer des données utilisateur
Insérer des données utilisateur dans le contrôleur :
phppublic function action_mysql_add() { DB::insert('users')->set([ 'name' => 'ServBay', 'email' => '[email protected]', ])->execute(); return Response::forge('User added'); }
1
2
3
4
5
6
7
8
9Utiliser MySQL
Faire appel à la base de données dans le contrôleur :
phppublic function action_mysql() { $users = DB::select()->from('users')->execute()->as_array(); return Response::forge(json_encode($users)); }
1
2
3
4
5
Avec les étapes ci-dessus, vous avez réussi à créer et exécuter un projet FuelPHP, en utilisant les fonctionnalités fournies par ServBay pour gérer et accéder à votre projet, tout en connectant et appelant diverses bases de données. J'espère que cet article vous aidera à démarrer rapidement avec FuelPHP et à l'appliquer à vos projets.