Creare e Eseguire un Progetto FuelPHP
Cos'è FuelPHP?
FuelPHP è un framework PHP flessibile e modulare, adatto per lo sviluppo di applicazioni Web moderne. Segue il modello di design 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à. FuelPHP è noto per la sua flessibilità, alte prestazioni e facilità di espansione, diventando una scelta popolare tra molti sviluppatori.
Principali Caratteristiche e Vantaggi di FuelPHP
- Architettura HMVC: Supporta il design MVC gerarchico, facilitando il riutilizzo del codice e lo sviluppo modulare.
- Alte Prestazioni: FuelPHP è riconosciuto per le sue prestazioni efficienti e velocità, in grado di gestire richieste ad alta concorrenza.
- Facile da Espandere: Offre una ricca serie di meccanismi di estensione che consentono agli sviluppatori di aggiungere facilmente funzionalità personalizzate.
- Sicurezza: Include una varietà di funzionalità di sicurezza, come la validazione degli input, il filtraggio dell'output e la protezione CSRF.
- Forte Supporto Comunitario: Ha una comunità di sviluppatori attiva e una vasta gamma di estensioni di terze parti.
FuelPHP può aiutare gli sviluppatori a costruire rapidamente applicazioni Web ad alte prestazioni e di alta qualità, adatte a progetti di tutte le dimensioni.
Creare e Eseguire un Progetto FuelPHP con ServBay
In questo articolo, useremo l'ambiente PHP fornito da ServBay per creare e eseguire un progetto FuelPHP. Utilizzeremo la funzionalità "Host" di ServBay per configurare il server Web e rendere accessibile il progetto con poche configurazioni semplici.
Nota: se hai utilizzato NGINX o Apache in precedenza
ServBay utilizza Caddy come server Web per impostazione predefinita. Per gli utenti che stanno migrando da NGINX e Apache a ServBay, ci sono alcuni cambiamenti chiave da notare:
Configurazione di Caddy
ServBay ha Caddy integrato e la configurazione predefinita è ottimizzata e testata. Gli sviluppatori devono solo utilizzare la funzione "Host" di ServBay per gestire i siti, senza necessità di modificare manualmente i file di configurazione di Caddy.
Regole di Riscrittura e .htaccess
In NGINX e Apache, gli sviluppatori spesso scrivono le proprie regole di riscrittura e file .htaccess per gestire la riscrittura degli URL e altre configurazioni. Tuttavia, le regole di Caddy sono già configurate in ServBay, quindi, a meno che non ci siano esigenze speciali, gli sviluppatori non hanno bisogno di scrivere queste regole.
Per saperne di più
Per ulteriori informazioni, consulta Rewrite e htaccess, Come migrare un sito Apache a ServBay, Come migrare un sito NGINX a ServBay.
Creazione del Progetto FuelPHP
TIP
ServBay consiglia agli sviluppatori di posizionare i siti Web nella cartella /Applications/ServBay/www
per facilitarne la gestione.
Installazione di Composer
ServBay include Composer già installato, quindi non è necessario installarlo separatamente.
Creazione del Progetto FuelPHP
Crea un nuovo progetto FuelPHP utilizzando Composer:
bashcd /Applications/ServBay/www mkdir servbay-fuelphp-app cd servbay-fuelphp-app composer create-project fuel/fuel .
1
2
3
4Accesso alla Directory del Progetto
Accedi alla directory del nuovo progetto FuelPHP:
bashcd /Applications/ServBay/www/servbay-fuelphp-app
1
Configurazione Iniziale
Configurazione della Connessione al Database
Configura 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
Configurazione del Server Web
Utilizza la funzionalità "Host" di ServBay per accedere al progetto FuelPHP tramite il server Web. Nella configurazione "Host" di ServBay, aggiungi un nuovo host:
- Nome:
My First FuelPHP Dev Site
- Domain:
servbay-fuelphp-test.local
- Tipo di Sito:
PHP
- Versione PHP: scegli
8.3
- Root del Sito Web:
/Applications/ServBay/www/servbay-fuelphp-app/public
Per le istruzioni dettagliate, consulta Aggiungi il primo sito.
Aggiunta di Codice Esempio
Aggiungi il seguente codice nel file 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
Accesso al Sito Web
Apri il browser e visita il seguente URL:
https://servbay-fuelphp-test.local
: Vedrai l'output della paginaHello ServBay!
.
Esempio di Database NoSQL
Esempio Memcached
Installazione dell'Estensione Memcached
In ServBay, l'estensione Memcached è già preinstallata, quindi non è necessario installarla.
Configurazione di Memcached
Configura le informazioni di connessione di Memcached nel file
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
13Aggiunta di Rotte
Aggiungi la seguente rotta nel file
fuel/app/config/routes.php
:phpreturn array( 'memcached' => 'welcome/memcached', )
1
2
3Utilizzo di Memcached
Utilizza 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
7Apri il browser e visita: https://servbay-fuelphp-test.local/memcached
Esempio Redis
Installazione dell'Estensione Redis
In ServBay, l'estensione Redis è già preinstallata, quindi non è necessario installarla.
Configurazione di Redis
Configura le informazioni di connessione di Redis nel file
fuel/app/config/redis.php
:phpreturn [ 'driver' => 'redis', 'redis' => [ 'database' => 'default', ], ];
1
2
3
4
5
6Aggiunta di Rotte
Aggiungi la seguente rotta nel file
fuel/app/config/routes.php
:phpreturn array( 'redis' => 'welcome/redis', )
1
2
3Utilizzo di Redis
Utilizza 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
7Apri il browser e visita: https://servbay-fuelphp-test.local/redis
Esempio di Database Relazionale
Creazione della Struttura del Database e File di Migrazione
Creazione del File di Migrazione
Crea un file di migrazione utilizzando lo strumento oil di FuelPHP:
bashphp oil g migration create_users_table
1Modifica del File di Migrazione
Trova il nuovo file di migrazione nella directory
fuel/app/migrations
e modificalo per definire la struttura della tabella del 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
21Esecuzione della Migrazione
Esegui la migrazione utilizzando lo strumento oil di FuelPHP per creare la tabella del database:
bashphp oil refine migrate
1
Esempio MySQL
Configurazione di MySQL
Configura le informazioni di connessione di 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
9Inserimento di Dati Utente
Inserisci 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
9Utilizzo di MySQL
Recupera dati dal 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
Con i passaggi precedenti, hai creato e eseguito con successo un progetto FuelPHP, utilizzando le funzionalità di ServBay per gestire e accedere al tuo progetto, e connettendoti a vari database per richiamare i dati. Speriamo che questo articolo ti aiuti a iniziare rapidamente con FuelPHP e a utilizzarlo nei tuoi progetti.