Creare ed eseguire un progetto FuelPHP
Cosa è FuelPHP?
FuelPHP è un framework PHP flessibile e modulare, progettato per lo sviluppo di applicazioni Web moderne. Segue il modello di architettura HMVC (Hierarchical Model-View-Controller), offrendo una vasta gamma di funzionalità e strumenti che consentono agli sviluppatori di costruire rapidamente applicazioni Web di alta qualità. Conosciuto per la sua flessibilità, alte prestazioni e facilità di estensione, FuelPHP è la scelta preferita di molti sviluppatori.
Caratteristiche chiave e vantaggi di FuelPHP
- Architettura HMVC: Supporta il modello di design MVC gerarchico, utile per il riutilizzo del codice e lo sviluppo modulare.
- Alte prestazioni: FuelPHP è noto per le sue prestazioni efficienti e la velocità, in grado di gestire richieste ad alta concorrenza.
- Facilità di estensione: Offre un meccanismo di estensione ricco che permette agli sviluppatori di aggiungere facilmente funzionalità personalizzate.
- Sicurezza: Include diverse funzionalità di sicurezza integrate, come la validazione dell'input, il filtraggio dell'output e la protezione CSRF.
- Supporto comunitario robusto: Ha una comunità di sviluppatori attiva e numerose estensioni di terze parti.
FuelPHP può aiutare gli sviluppatori a costruire rapidamente applicazioni Web ad alte prestazioni e alta qualità, adatte per progetti di qualsiasi dimensione.
Creare ed eseguire un progetto FuelPHP con ServBay
In questo articolo, utilizzeremo l'ambiente PHP fornito da ServBay per creare ed eseguire un progetto FuelPHP. Utilizzeremo la funzione "Host" di ServBay per configurare un server Web e accedere al progetto con una configurazione semplice.
Nota: per gli utenti che utilizzano già NGINX o Apache
ServBay usa Caddy come server Web di default. Per gli utenti che migrano da NGINX e Apache a ServBay, ci sono alcune differenze chiave da tenere a mente:
Configurazione di Caddy
ServBay ha già integrato Caddy con una configurazione ottimizzata e testata. Gli sviluppatori possono gestire il sito tramite la funzione "Host" di ServBay senza modificare manualmente il file di configurazione di Caddy.
Regole di riscrittura e .htaccess
In NGINX e Apache, gli sviluppatori di solito devono scrivere le proprie regole di riscrittura e file .htaccess per la riscrittura degli URL e altre configurazioni. Tuttavia, ServBay ha pre-configurato le regole di Caddy, quindi gli sviluppatori non devono scrivere queste regole a meno che non ci siano esigenze particolari.
Approfondimenti
Per ulteriori informazioni, fare riferimento a Rewrite and htaccess, How to Migrate Apache Websites to ServBay e How to Migrate NGINX Websites to ServBay.
Creare un progetto FuelPHP
TIP
ServBay consiglia di posizionare il sito Web nella directory /Applications/ServBay/www
per una gestione semplificata.
Installare Composer
Composer è già preinstallato con ServBay, quindi non è necessaria un'installazione separata.
Creare un progetto FuelPHP
Usare Composer per creare un nuovo progetto FuelPHP:
bashcd /Applications/ServBay/www mkdir servbay-fuelphp-app cd servbay-fuelphp-app composer create-project fuel/fuel .
1
2
3
4Navigare nella directory del progetto
Entrare nella directory del nuovo progetto FuelPHP:
bashcd /Applications/ServBay/www/servbay-fuelphp-app
1
Configurazione iniziale
Configurare la connessione al database
Configurare le informazioni di connessione al database nel file
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
Configurare il server Web
Utilizzare la funzione "Host" di ServBay per accedere al progetto FuelPHP tramite il server Web. Nelle impostazioni dell'host di ServBay, aggiungere un nuovo host:
- Nome:
My First FuelPHP Dev Site
- Dominio:
servbay-fuelphp-test.local
- Tipo di sito:
PHP
- Versione PHP: Selezionare
8.3
- Directory radice del sito:
/Applications/ServBay/www/servbay-fuelphp-app/public
Per i passaggi dettagliati, fare riferimento a Adding the First Website.
Aggiungere codice di esempio
Aggiungere il seguente codice nel file 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
Visitare il sito
Aprire un browser e visitare le seguenti URL:
https://servbay-fuelphp-test.local
: Vedrai la pagina che stampaHello ServBay!
.
Esempi di database NoSQL
Esempio di Memcached
Installare l'estensione Memcached
L'estensione Memcached è già preinstallata con ServBay, quindi non è necessaria un'installazione separata.
Configurare Memcached
Configurare le informazioni di connessione a Memcached nel file
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
14Aggiungere rutte
Aggiungere la seguente ruta in
fuel/app/config/routes.php
:phpreturn array( 'memcached' => 'welcome/memcached', );
1
2
3Usare Memcached
Usare la cache nel controller:
phppublic function action_memcached() { Cache::set('key', 'Hello Memcached!', 60); $value = Cache::get('key'); return Response::forge($value); }
1
2
3
4
5
6
7Aprire il browser e visitare https://servbay-fuelphp-test.local/memcached
Esempio di Redis
Installare l'estensione Redis
L'estensione Redis è già preinstallata con ServBay, quindi non è necessaria un'installazione separata.
Configurare Redis
Configurare le informazioni di connessione a Redis nel file
fuel/app/config/redis.php
:phpreturn [ 'driver' => 'redis', 'redis' => [ 'database' => 'default', ], ];
1
2
3
4
5
6Aggiungere rutte
Aggiungere la seguente ruta in
fuel/app/config/routes.php
:phpreturn array( 'redis' => 'welcome/redis', );
1
2
3Usare Redis
Usare la cache nel controller:
phppublic function action_redis() { Cache::set('key', 'Hello Redis!', 60); $value = Cache::get('key'); return Response::forge($value); }
1
2
3
4
5
6
7Aprire il browser e visitare https://servbay-fuelphp-test.local/redis
Esempi di database relazionali
Esempio di MySQL
Configurare MySQL
Configurare le informazioni di connessione a MySQL nel file
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
9Creare un file di migrazione
Usare lo strumento oil di FuelPHP per creare un file di migrazione:
bashphp oil g migration create_users_table
1Modificare il file di migrazione
Trovare il nuovo file di migrazione creato nella directory
fuel/app/migrations
e modificarlo per definire la struttura della tabella nel database: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
21Eseguire la migrazione
Usare lo strumento oil di FuelPHP per eseguire la migrazione e creare la tabella nel database:
bashphp oil refine migrate
1Aggiungere rutte
Aggiungere le seguenti rutte in
fuel/app/config/routes.php
:phpreturn array( 'mysql_add' => 'welcome/mysql_add', 'mysql' => 'welcome/mysql', );
1
2
3
4Inserire dati utente
Inserire dati utente nel controller:
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
9Usare MySQL
Usare il database nel controller:
phppublic function action_mysql() { $users = DB::select()->from('users')->execute()->as_array(); return Response::forge(json_encode($users)); }
1
2
3
4
5
6Aprire un browser e visitare
https://servbay-fuelphp-test.local/mysql_add
ehttps://servbay-fuelphp-test.local/mysql
Seguendo questi passaggi, hai creato e gestito con successo un progetto FuelPHP usando le funzionalità di ServBay, collegandoti e interrogando vari database. Speriamo che questo articolo ti aiuti a iniziare rapidamente con FuelPHP e ad applicarlo ai tuoi progetti.