Creare e eseguire un progetto Laravel
Cos'è Laravel?
Laravel è un framework PHP open-source creato da Taylor Otwell per fornire agli sviluppatori una serie di strumenti semplici ed eleganti per costruire applicazioni web moderne. Laravel offre numerose funzionalità come routing, sessioni, caching, e autenticazione che semplificano compiti comuni nello sviluppo web.
Caratteristiche principali e vantaggi di Laravel
- Semplicità e eleganza: La sintassi di Laravel è semplice ed elegante, rendendo il codice più leggibile e mantenibile.
- Set di funzionalità ricche: Include funzionalità come routing, autenticazione, gestione delle sessioni e caching, semplificando notevolmente il lavoro di sviluppo.
- ORM potente: Eloquent ORM fornisce un'implementazione ActiveRecord semplice per facilitare le operazioni sul database.
- Design modulare: Grazie al gestore di pacchetti Composer, è facile integrare librerie e estensioni di terze parti.
- Supporto forte dalla community: Una grande community di sviluppatori e un ricco ecosistema.
Laravel può aiutare gli sviluppatori a costruire rapidamente applicazioni web e API di alta qualità, adatti a progetti di qualsiasi dimensione, dalle piccole applicazioni ai grandi sistemi aziendali.
Creare e eseguire un progetto Laravel usando ServBay
In questo articolo, utilizzeremo l'ambiente PHP fornito da ServBay per creare e eseguire un progetto Laravel. Utilizzeremo la funzionalità 'Host' di ServBay per configurare il server web e accedere al progetto con una configurazione semplice.
Nota: Se eri un utente di NGINX o Apache
ServBay utilizza di default Caddy come server web. Per gli utenti che migrano da NGINX e Apache a ServBay, ci sono alcuni punti chiave da notare:
Configurazione di Caddy
ServBay ha Caddy preconfigurato e ottimizzato. Gli sviluppatori devono solo gestire il sito tramite la funzione 'Host' di ServBay senza modificare manualmente i file di configurazione di Caddy.
Regole di riscrittura e .htaccess
In NGINX e Apache, gli sviluppatori scrivono regole di riscrittura e file .htaccess per la riscrittura degli URL e altre configurazioni. Tuttavia, le regole di Caddy sono già configurate con ServBay, quindi, a meno che non ci siano requisiti speciali, non è necessario scrivere queste regole.
Per ulteriori informazioni
Per ulteriori dettagli, consultare Rewrite and htaccess, Come migrare un sito Apache a ServBay, Come migrare un sito NGINX a ServBay.
Creare un progetto Laravel
TIP
ServBay consiglia di posizionare il sito nella directory /Applications/ServBay/www
per una gestione più semplice.
Installare Composer
ServBay viene fornito con Composer preinstallato, quindi non è necessaria un'installazione separata.
Creare un progetto Laravel
Utilizzare Composer per creare un nuovo progetto Laravel:
bashcd /Applications/ServBay/www mkdir servbay-laravel-app cd servbay-laravel-app composer create-project --prefer-dist laravel/laravel .
1
2
3
4Entrare nella directory del progetto
Accedere alla directory del nuovo progetto Laravel:
bashcd /Applications/ServBay/www/servbay-laravel-app
1
Configurazione iniziale
Generare la chiave dell'applicazione
Laravel necessita di una chiave di sicurezza per le sessioni utente e altri dati crittografati. È possibile generare la chiave dell'applicazione usando il comando Artisan:
bashphp artisan key:generate
1Configurare le variabili d'ambiente
Configurare le informazioni di connessione al database e altre variabili d'ambiente nel file
.env
. Assicurarsi che le seguenti impostazioni siano configurate correttamente:APP_NAME=Laravel APP_ENV=local APP_KEY=base64:... APP_DEBUG=true APP_URL=https://servbay-laravel-test.local LOG_CHANNEL=stack DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=servbay_laravel_app DB_USERNAME=root DB_PASSWORD=password
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Configurazione del server web
Utilizzare la funzione 'Host' di ServBay per accedere al progetto Laravel tramite il server web. Nelle impostazioni 'Host' di ServBay, aggiungere un nuovo host:
- Nome:
My First Laravel Dev Site
- Dominio:
servbay-laravel-test.local
- Tipo di sito web:
PHP
- Versione PHP: selezionare
8.3
- Root del sito web:
/Applications/ServBay/www/servbay-laravel-app/public
Per i dettagli sui passaggi di configurazione, consultare Aggiungere il primo sito web.
Aggiungere un codice di esempio
Aggiungere il seguente codice nel file routes/web.php
per visualizzare "Hello ServBay!":
Route::get('/', function () {
return 'Hello ServBay!';
});
2
3
Accedere al sito web
Aprire il browser e visitare https://servbay-laravel-test.local
per vedere la pagina che mostra Hello ServBay!
.
Esempio di database NoSQL
Esempio con Memcached
Installare l'estensione Memcached
In ServBay, l'estensione Memcached è già preinstallata, quindi non è necessaria un'installazione aggiuntiva.
Configurare Memcached
Configurare le informazioni di connessione a Memcached nel file
.env
:CACHE_STORE=memcached MEMCACHED_HOST=127.0.0.1
1
2Utilizzare Memcached
Utilizzare la cache nel controller:
phpuse Illuminate\Support\Facades\Cache; Route::get('/memcached', function () { Cache::put('key', 'value', 600); return Cache::get('key'); });
1
2
3
4
5
6
Esempio con Redis
Installare l'estensione Redis
In ServBay, l'estensione Redis è già preinstallata, quindi non è necessaria un'installazione aggiuntiva.
Configurare Redis
Configurare le informazioni di connessione a Redis nel file
.env
:CACHE_STORE=redis REDIS_HOST=127.0.0.1 REDIS_PASSWORD=null REDIS_PORT=6379
1
2
3
4Utilizzare Redis
Utilizzare la cache nel controller:
phpuse Illuminate\Support\Facades\Redis; Route::get('/redis', function () { Redis::set('key', 'value'); return Redis::get('key'); });
1
2
3
4
5
6
Esempio di database relazionale
Creare la struttura del database e i file di migrazione
Creare un file di migrazione
Utilizzare il comando Artisan per creare un file di migrazione:
bashphp artisan make:migration create_accounts_table
1Modificare il file di migrazione
Trovare il nuovo file di migrazione nella directory
database/migrations
e modificarlo per definire la struttura della tabella del database:phppublic function up() { Schema::create('accounts', function (Blueprint $table) { $table->id(); $table->string('name'); $table->string('email')->unique(); $table->timestamps(); }); }
1
2
3
4
5
6
7
8
9Eseguire la migrazione
Eseguire il comando Artisan per eseguire la migrazione e creare la tabella del database:
bashphp artisan migrate
1
Esempio con MySQL
Configurare MySQL
Configurare le informazioni di connessione a MySQL nel file
.env
:DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=servbay_laravel_app DB_USERNAME=root DB_PASSWORD=password
1
2
3
4
5
6Inserire i dati dell'utente
Inserire i dati dell'utente nel controller:
phpuse Illuminate\Support\Facades\DB; Route::get('/mysql-add', function () { DB::table('accounts')->insert([ 'name' => 'ServBay', 'email' => '[email protected]', ]); return 'Account added'; });
1
2
3
4
5
6
7
8
9Utilizzare MySQL
Chiamare il database nel controller:
phpuse Illuminate\Support\Facades\DB; Route::get('/mysql', function () { $users = DB::table('accounts')->get(); return $users; });
1
2
3
4
5
6
Esempio con PostgreSQL
Configurare PostgreSQL
Configurare le informazioni di connessione a PostgreSQL nel file
.env
:DB_CONNECTION=pgsql DB_HOST=127.0.0.1 DB_PORT=5432 DB_DATABASE=servbay_laravel_app DB_USERNAME=root DB_PASSWORD=password
1
2
3
4
5
6Inserire i dati dell'utente
Inserire i dati dell'utente nel controller:
phpuse Illuminate\Support\Facades\DB; Route::get('/pgsql-add', function () { DB::table('accounts')->insert([ 'name' => 'ServBay', 'email' => '[email protected]', ]); return 'Account added'; });
1
2
3
4
5
6
7
8
9Utilizzare PostgreSQL
Chiamare il database nel controller:
phpuse Illuminate\Support\Facades\DB; Route::get('/pgsql', function () { $users = DB::table('accounts')->get(); return $users; });
1
2
3
4
5
6
Seguendo questi passaggi, avrete creato e eseguito con successo un progetto Laravel, utilizzando le funzionalità fornite da ServBay per gestire e accedere al vostro progetto, collegandovi a vari database per richiamare i dati.