Créer et Exécuter un Projet FuelPHP
Qu'est-ce que FuelPHP ?
FuelPHP est un cadre PHP flexible et modulaire conçu pour développer des applications web modernes. Il suit le modèle de conception HMVC (Hierarchical Model-View-Controller) et fournit 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 flexibilité, ses hautes performances et sa facilité d'extension, FuelPHP est un choix privilégié pour de nombreux développeurs.
Caractéristiques Clés et Avantages de FuelPHP
- Architecture HMVC : Prend en charge les modèles de conception MVC hiérarchiques, facilitant la réutilisation du code et le développement modulaire.
- Haute Performance : FuelPHP est connu pour ses performances efficaces et sa rapidité, capable de gérer des requêtes à haute concurrence.
- Facile à Étendre : Offre un mécanisme d'extension riche qui permet aux développeurs d'ajouter facilement des fonctionnalités personnalisées.
- Sécurité : Inclut plusieurs fonctionnalités de sécurité intégrées telles que la validation des entrées, le filtrage des sorties et la protection CSRF.
- Fort Support Communautaire : Bénéficie d'une communauté de développeurs active et d'une richesse d'extensions tierces.
FuelPHP peut aider les développeurs à créer rapidement des applications web hautes performances et de haute qualité, adaptées à des projets de différentes 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 configurerons un serveur web en utilisant la fonctionnalité "Host" de ServBay et accéderons au projet par une configuration simple.
Note : Pour les utilisateurs ayant précédemment utilisé NGINX ou Apache
ServBay utilise par défaut Caddy comme serveur web. Pour les utilisateurs migrants de NGINX et Apache vers ServBay, il y a quelques changements clés à noter :
Configuration de Caddy
ServBay a intégré Caddy et la configuration par défaut est optimisée et déboguée. Les développeurs doivent seulement gérer les sites via la fonctionnalité "Host" de ServBay sans modifier manuellement le fichier de configuration de Caddy.
Règles de Réécriture et .htaccess
Avec NGINX et Apache, les développeurs doivent généralement écrire leurs propres règles de réécriture et fichiers .htaccess pour la réécriture d'URL et d'autres configurations. Cependant, ServBay est préconfiguré avec des règles Caddy, donc les développeurs n'ont pas besoin d'écrire ces règles à moins qu'il y ait des exigences particulières.
En savoir plus
Pour plus d'informations, veuillez consulter Rewrite et htaccess, Comment Migrer des Sites Apache vers ServBay, et Comment Migrer des Sites 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 plus facile.
Installer Composer
Composer est préinstallé avec ServBay, donc aucune installation séparée n'est nécessaire.
Créer un Projet FuelPHP
Utilisez 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
4Naviguer vers le Répertoire du Projet
Entrez dans le répertoire du projet FuelPHP nouvellement créé :
bashcd /Applications/ServBay/www/servbay-fuelphp-app
1
Configuration Initiale
Configurer la Connexion à la Base de Données
Configurez 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
Configuration du Serveur Web
Utilisez la fonctionnalité "Host" de ServBay pour accéder au projet FuelPHP via un serveur web. Dans les paramètres "Host" de ServBay, ajoutez un nouvel hôte :
- Name:
My First FuelPHP Dev Site
- Domain:
servbay-fuelphp-test.local
- Website Type:
PHP
- PHP Version: select
8.3
- Website Root Directory:
/Applications/ServBay/www/servbay-fuelphp-app/public
Pour des étapes d'installation détaillées, veuillez vous référer à Adding the First Website.
Ajouter du Code Exemple
Ajoutez le code suivant dans le fichier fuel/app/classes/controller/welcome.php
:
use Fuel\Core\Controller;
use Fuel\Core\Response;
use Fuel\Core\Cache;
use Fuel\Core\DB;
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()
{
Cache::set('key', 'Hello Redis!', 60);
$value = Cache::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
43
44
45
Accédez au Site Web
Ouvrez votre navigateur et visitez l'URL suivante :
https://servbay-fuelphp-test.local
: Vous verrez la sortie de la pageHello ServBay!
.
Exemples de Bases de Données NoSQL
Exemple Memcached
Installer l'Extension Memcached
L'extension Memcached est préinstallée avec ServBay, aucune installation supplémentaire n'est nécessaire.
Configurer Memcached
Configurez les informations de connexion Memcached dans le fichier
fuel/core/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
13
14Ajouter des Routes
Ajoutez les routes suivantes à
fuel/app/config/routes.php
:phpreturn array( 'memcached' => 'welcome/memcached', )
1
2
3Utilisation de Memcached
Utilisez 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
7Ouvrez un navigateur et visitez https://servbay-fuelphp-test.local/memcached
Exemple Redis
Installer l'Extension Redis
L'extension Redis est préinstallée avec ServBay, aucune installation supplémentaire n'est nécessaire.
Configurer Redis
Configurez 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 des Routes
Ajoutez les routes suivantes à
fuel/app/config/routes.php
:phpreturn array( 'redis' => 'welcome/redis', )
1
2
3Utilisation de Redis
Utilisez 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
7Ouvrez un navigateur et visitez https://servbay-fuelphp-test.local/redis
Exemples de Bases de Données Relationnelles
Exemple MySQL
Configurer MySQL
Configurez 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
9Créer les Fichiers de Migration
Utilisez l'outil oil de FuelPHP pour créer des fichiers de migration :
bashphp oil g migration create_users_table
1Éditer les Fichiers de Migration
Trouvez le fichier de migration nouvellement créé dans le répertoire
fuel/app/migrations
et éditez-le pour définir la structure de la table de la base de données :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
Utilisez 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
1Ajouter des Routes
Ajoutez les routes suivantes à
fuel/app/config/routes.php
:phpreturn array( 'mysql_add' => 'welcome/mysql_add', 'mysql' => 'welcome/mysql', )
1
2
3
4Insérer des Données Utilisateur
Insérez 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
9Utilisation de MySQL
Appelez 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
6Ouvrez un navigateur et visitez
https://servbay-fuelphp-test.local/mysql_add
ethttps://servbay-fuelphp-test.local/mysql
À travers les étapes ci-dessus, vous avez réussi à créer et exécuter un projet FuelPHP en utilisant les fonctionnalités de ServBay pour gérer et accéder à votre projet tout en se connectant à et en interrogeant plusieurs bases de données. J'espère que cet article vous aidera à vous lancer rapidement avec FuelPHP et à l'appliquer à vos projets.