Creare ed Eseguire un Progetto Laravel con ServBay
Panoramica
ServBay è un potente ambiente di sviluppo web locale, disponibile per macOS e Windows, che integra numerosi pacchetti popolari, tra cui PHP, Node.js, Python, Go, Java, diversi database (MySQL, PostgreSQL, MongoDB), servizi di cache (Redis, Memcached) e server web (Caddy, Nginx, Apache).
In questa guida scoprirai come creare, configurare ed eseguire rapidamente un progetto Laravel con ServBay. Utilizzeremo l'ambiente PHP integrato, il gestore di pacchetti Composer e le avanzate funzionalità di gestione dei siti di ServBay per semplificare il processo.
Che cos'è Laravel?
Laravel è uno dei più popolari framework PHP open source per lo sviluppo di applicazioni web, creato da Taylor Otwell. Segue il modello architetturale MVC (Model-View-Controller) e offre numerose funzionalità pronte all'uso per semplificare compiti comuni come autenticazione utenti, routing, gestione delle sessioni, cache e operazioni sui database. Grazie alla sua sintassi elegante, ricchezza di funzioni e una forte community, Laravel è la soluzione ideale per costruire applicazioni web moderne e mantenibili.
Principali Caratteristiche e Vantaggi di Laravel
- Sintassi elegante: Codice pulito e espressivo, con maggiore produttività e leggibilità.
- Eloquent ORM: Implementazione ActiveRecord per interazioni semplici e intuitive con i database.
- Console Artisan: Una CLI ricca di comandi utili per migrazioni, generazione di codice, test e altro.
- Motore di template Blade: Sintassi intuitiva per sviluppare rapidamente viste dinamiche.
- Ecosistema esteso: Centinaia di pacchetti ufficiali e di terze parti facilmente integrabili tramite Composer.
- Community vivace: Risorse abbondanti, guide e soluzioni sempre disponibili.
Vantaggi di Sviluppare Progetti Laravel con ServBay
ServBay semplifica notevolmente lo sviluppo con Laravel:
- Ambiente integrato: Include diverse versioni di PHP, Composer e i servizi database/cache più usati senza necessità di installazioni manuali.
- Gestione semplificata: Interfaccia grafica che consente di cambiare versione PHP, gestire configurazione siti e avviare/arrestare servizi con un click.
- Web server preconfigurato: Caddy è configurato in modo ottimale per i framework PHP più diffusi, incluso Laravel; non occorrono configurazioni manuali.
- Supporto HTTPS: Certificati SSL generati automaticamente per i domini
.local
, offrendo maggiore sicurezza e un ambiente locale simile a quello di produzione.
Creare un Progetto Laravel
Si consiglia di organizzare i progetti web nelle seguenti directory, per una gestione ordinata:
- macOS:
/Applications/ServBay/www
- Windows:
C:\ServBay\www
Verifica che Composer sia installato
Composer è già incluso con ServBay, non serve installarlo separatamente. Puoi verificarne la disponibilità da terminale:
bashcomposer --version
1Se il comando restituisce la versione, Composer è pronto all'uso.
Crea un nuovo progetto Laravel
Apri il terminale, vai nella directory suggerita da ServBay per i siti web e utilizza Composer per creare un nuovo progetto Laravel chiamato
servbay-laravel-app
:macOS:
bashcd /Applications/ServBay/www # Crea la directory del progetto mkdir servbay-laravel-app # Accedi alla directory del progetto cd servbay-laravel-app # Crea progetto Laravel nella directory corrente composer create-project --prefer-dist laravel/laravel .
1
2
3
4
5
6
7Windows:
cmdcd C:\ServBay\www # Crea la directory del progetto mkdir servbay-laravel-app # Accedi alla directory del progetto cd servbay-laravel-app # Crea progetto Laravel nella directory corrente composer create-project --prefer-dist laravel/laravel .
1
2
3
4
5
6
7Composer scaricherà Laravel e tutte le sue dipendenze.
Accedi alla directory del progetto
Assicurati che il terminale punti alla root del nuovo progetto:
macOS:
bashcd /Applications/ServBay/www/servbay-laravel-app
1Windows:
cmdcd C:\ServBay\www\servbay-laravel-app
1
Configurazione Iniziale
Genera la chiave dell'applicazione
Laravel utilizza una chiave per proteggere le sessioni degli utenti e i dati crittografati. Generala con Artisan dalla root del progetto:
Percorso root del progetto:
- macOS:
/Applications/ServBay/www/servbay-laravel-app
- Windows:
C:\ServBay\www\servbay-laravel-app
bashphp artisan key:generate
1Questo comando aggiunge e imposta
APP_KEY
nel file.env
.- macOS:
Configura il file di ambiente (
.env
)Laravel gestisce variabili d'ambiente via
.env
, come connessioni database, URL app, ecc. Apri il file.env
e aggiorna la configurazione in base alle tue esigenze. Ecco le impostazioni base:dotenvAPP_NAME=ServBay Laravel Demo APP_ENV=local APP_KEY=base64:... # Generato da php artisan key:generate APP_DEBUG=true APP_URL=https://servbay-laravel-test.local LOG_CHANNEL=stack # Configurazione database (MySQL) DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=servbay_laravel_app # Nome database desiderato DB_USERNAME=root # Utente di default ServBay DB_PASSWORD=password # Password di default ServBay # Configurazione cache/coda (Redis) CACHE_STORE=redis REDIS_HOST=127.0.0.1 REDIS_PASSWORD=null # Redis su ServBay senza password REDIS_PORT=6379 # Configurazione cache/coda (Memcached) # CACHE_STORE=memcached # MEMCACHED_HOST=127.0.0.1 # MEMCACHED_PORT=11211
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
26Nota: Adatta la configurazione
DB_*
,REDIS_*
oMEMCACHED_*
secondo i servizi utilizzati. Puoi trovare utente e password di default database nella dashboard ServBay.
Configurare il Web Server (Aggiunta Sito in ServBay)
Utilizza la gestione siti di ServBay per collegare il dominio al progetto Laravel, puntando alla directory public
.
Apri la dashboard ServBay
Avvia l'applicazione ServBay e accedi al pannello di controllo.
Aggiungi un nuovo sito
Nella sezione ‘Siti’ della dashboard, clicca sull’icona per aggiungere (
+
o simile).Inserisci le informazioni del sito
Compila la configurazione come segue:
Nome:
My First Laravel Dev Site
(identificativo a piacere)Dominio:
servbay-laravel-test.local
(dominio da usare nel browser)Tipo di sito:
PHP
Versione PHP: Seleziona la versione adatta al tuo Laravel, es.
8.3
.Root sito:
- macOS:
/Applications/ServBay/www/servbay-laravel-app/public
- Windows:
C:\ServBay\www\servbay-laravel-app\public
(Importante: Deve puntare alla sottocartella
public
della root del progetto Laravel)- macOS:
Per istruzioni dettagliate consulta la guida ServBay su Aggiunta del primo sito (cerca la versione inglese).
Salva e applica le modifiche
Salva la configurazione: ServBay aggiornerà il web server (di default Caddy). Se richiesto di riavviare il server, procedi.
Verifica Accesso Base
Ora dovresti poter accedere al progetto Laravel col dominio configurato.
Apri il browser
Digita nel browser il dominio, tipo
https://servbay-laravel-test.local
.Verifica risultato
Se tutto è impostato correttamente, vedrai la pagina di benvenuto di Laravel.
Aggiunta di Codice di Esempio
Per una verifica più immediata, aggiungiamo una route semplice in routes/web.php
che mostra "Hello ServBay!".
Trova il file routes/web.php
e aggiungi/modifica così:
php
<?php
use Illuminate\Support\Facades\Route;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Qui puoi registrare le rotte web per la tua applicazione.
| Queste rotte vengono caricate dal RouteServiceProvider, all'interno
| del gruppo "web". Crea qualcosa di fantastico!
|
*/
Route::get('/', function () {
return 'Hello ServBay!'; // Modifica oppure aggiungi questa riga
});
// ... altre rotte
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Salva e torna su https://servbay-laravel-test.local
. Dovresti vedere la scritta Hello ServBay!
nel browser.
Esempi di Integrazione Database
Laravel offre un potente strato di astrazione per database e un ORM (Eloquent). ServBay include MySQL, PostgreSQL, MongoDB, Redis, Memcached, facilitando test in locale.
Esempi con Database NoSQL
ServBay include Redis e Memcached e le relative estensioni PHP.
Esempio Memcached
Configura
.env
Aggiorna
.env
per Memcached:dotenvCACHE_STORE=memcached MEMCACHED_HOST=127.0.0.1 MEMCACHED_PORT=11211 # Porta predefinita Memcached su ServBay
1
2
3Utilizza Memcached
Interagisci con Memcached usando la facade Cache:
In
routes/web.php
aggiungi:phpuse Illuminate\Support\Facades\Cache; Route::get('/memcached-test', function () { // Salva dato in cache per 10 minuti (600 secondi) Cache::put('servbay_memcached_key', 'Hello from Memcached on ServBay!', 600); // Recupera dato dalla cache $value = Cache::get('servbay_memcached_key'); if ($value) { return "Dati da Memcached: " . $value; } else { return "Dati non presenti o scaduti in Memcached."; } });
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15Visita
https://servbay-laravel-test.local/memcached-test
per la prova.
Esempio Redis
Configura
.env
Aggiorna il file per Redis:
dotenvCACHE_STORE=redis REDIS_HOST=127.0.0.1 REDIS_PASSWORD=null # Nessuna password per Redis su ServBay REDIS_PORT=6379 # Porta predefinita su ServBay
1
2
3
4Nota: Se hai configurato sia Memcached che Redis, attiva solo una memoria cache alla volta commentando l'altra nel
.env
.Utilizza Redis
Usa la facade Redis o Cache:
Aggiungi in
routes/web.php
:phpuse Illuminate\Support\Facades\Redis; // Oppure usa Cache, se CACHE_STORE=redis // use Illuminate\Support\Facades\Cache; Route::get('/redis-test', function () { // Con Redis facade Redis::set('servbay_redis_key', 'Hello from Redis on ServBay!'); $value_redis = Redis::get('servbay_redis_key'); // Oppure con Cache (se impostato) // Cache::put('servbay_redis_key', 'Hello from Redis on ServBay!', 600); // $value_cache = Cache::get('servbay_redis_key'); return "Dati da Redis: " . $value_redis; });
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15Visita
https://servbay-laravel-test.local/redis-test
per la verifica.
Esempi con Database Relazionali (MySQL & PostgreSQL)
ServBay include i server MySQL e PostgreSQL. Eloquent ORM permette connessioni immediate.
Crea prima il database del progetto. Puoi utilizzare gli strumenti di gestione di ServBay (phpMyAdmin, Adminer, pgAdmin, ecc.) oppure il client da riga di comando, per creare il database servbay_laravel_app
.
Usa poi le migration di Laravel per generare le tabelle.
Crea il file di migrazione
Da root progetto:
bashphp artisan make:migration create_accounts_table --create=accounts
1Questo crea un file sotto
database/migrations
.Modifica il file di migrazione
Apri il nuovo file (es.
YYYY_MM_DD_HHMMSS_create_accounts_table.php
), modifica il metodoup
:php<?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; return new class extends Migration { /** * Esegue la migrazione. */ public function up(): void { Schema::create('accounts', function (Blueprint $table) { $table->id(); $table->string('name'); $table->string('email')->unique(); $table->timestamps(); // Aggiunge colonne created_at e updated_at }); } /** * Annulla la migrazione. */ public function down(): void { Schema::dropIfExists('accounts'); } };
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
29Salva.
Esegui la migrazione
Da root progetto:
bashphp artisan migrate
1Se il database è configurato correttamente e
servbay_laravel_app
esiste, questa operazione creerà la tabellaaccounts
e le tabelle default di Laravel (users
,password_reset_tokens
,failed_jobs
,cache
,cache_locks
,jobs
,job_batches
, ecc.).
Esempio MySQL
Configura
.env
per MySQLAggiorna la configurazione:
dotenvDB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 # Porta MySQL su ServBay DB_DATABASE=servbay_laravel_app DB_USERNAME=root DB_PASSWORD=password # Password predefinita ServBay
1
2
3
4
5
6Scrivi dati di esempio
In
routes/web.php
:phpuse Illuminate\Support\Facades\DB; Route::get('/mysql-add-account', function () { DB::table('accounts')->insert([ 'name' => 'ServBay Demo User', 'email' => 'demo-user@servbay.test', 'created_at' => now(), 'updated_at' => now(), ]); return 'Account aggiunto a MySQL!'; });
1
2
3
4
5
6
7
8
9
10
11Visita
https://servbay-laravel-test.local/mysql-add-account
per inserire il dato.Lettura dati di esempio
In
routes/web.php
:phpuse App\Models\Account; // Se hai creato il modello Account // Oppure usa direttamente DB facade Route::get('/mysql-accounts', function () { // Con DB facade $accounts = DB::table('accounts')->get(); // Oppure con Eloquent ORM (se esiste il modello Account) // $accounts = Account::all(); return $accounts; });
1
2
3
4
5
6
7
8
9
10
11
12Consulta
https://servbay-laravel-test.local/mysql-accounts
per vedere i dati.
Esempio PostgreSQL
Configura
.env
per PostgreSQLSe vuoi usare PostgreSQL, modifica così:
dotenvDB_CONNECTION=pgsql DB_HOST=127.0.0.1 DB_PORT=5432 # Porta predefinita PostgreSQL su ServBay DB_DATABASE=servbay_laravel_app DB_USERNAME=root # Utente PostgreSQL predefinito ServBay DB_PASSWORD=password # Password predefinita ServBay
1
2
3
4
5
6Nota: Dopo il cambio, potrebbe servire eseguire
php artisan migrate:refresh
ophp artisan migrate
per ripristinare le tabelle.Scrittura dati di esempio (PostgreSQL)
In
routes/web.php
:phpuse Illuminate\Support\Facades\DB; Route::get('/pgsql-add-account', function () { DB::table('accounts')->insert([ 'name' => 'ServBay PG Demo User', 'email' => 'pg-demo-user@servbay.test', 'created_at' => now(), 'updated_at' => now(), ]); return 'Account aggiunto a PostgreSQL!'; });
1
2
3
4
5
6
7
8
9
10
11Visita
https://servbay-laravel-test.local/pgsql-add-account
per l'inserimento.Lettura dati di esempio (PostgreSQL)
In
routes/web.php
:phpuse Illuminate\Support\Facades\DB; Route::get('/pgsql-accounts', function () { $accounts = DB::table('accounts')->get(); return $accounts; });
1
2
3
4
5
6Vai su
https://servbay-laravel-test.local/pgsql-accounts
per visualizzare i dati.
Conclusioni
Con ServBay puoi configurare in pochi minuti un ambiente locale per sviluppare e avviare progetti Laravel. Grazie alle integrazioni di PHP, Composer, Caddy Web Server, tanti database e servizi di cache, la fase di setup diventa rapidissima. Bastano pochi passaggi per creare un nuovo progetto, configurare il web server e iniziare a sviluppare, con integrazione e test dei database e cache semplificati. ServBay si impegna a offrire un'esperienza di sviluppo locale efficiente e comoda.
Per qualsiasi problema o dubbio consulta la documentazione ufficiale ServBay o chiedi supporto alla community.