01 Laravel e Composer

Laravel è un set di strumenti ( più corretamente framework) basati sulla logica MVC scritto in linguaggio php per artigiani del web (Web Artisans) che vogliono realizzare applicazioni trovando già pronte una marea di funzionalità, in modo da non dover perdere tempo nel costruire cose già fatte con un alto grado di sicurezza.

Per installare e mantenere Laravel ci viene in contro composer, un gestore delle dipendenze delle librerie per php e installatore pacchetti.

Installare composer dalla pagina di download del sito ufficiale. Una volta installato digitare sul terminale

composer

il comando oltre a darci conferma della corretta installazione, ci permette di avere una lista di tutti i comandi possibili.

Posizionandosi nella cartella dove vogliamo creare il nostro progetto digitiamo

composer init

ci permette di inizializzare il progetto con le impostazioni personalizzate e installando i pacchetti necessari. Verrà creato il file composer.json contenete le informazioni specificate con le relative dipendenze. Una volta finita la procedura, nel file composer.json troveremo le informazioni immesse nel tipico formato chiave valore. Se si vuole far dipendere l’app da determinati pacchetti, si possono specificare successivamente con il comando

composer require nome/pacchetto

I pacchetti si possono trovare sul sito packagist raggiungibile anche dal sito di composer. Qualora un pacchetto sia necessario solo in fase di sviluppo, come per esempio il pacchetto faker che genera dati fittizi si crea la dipendenza solo in dev aggiungendo l’opzione

composer require --dev fzaninotto/faker

aggiungiamo un file index.php dove carichiamo il file autoload.php

require_once 'vendor/autoload.php';

In questo modo possiamo caricare facilmente i pacchetti e le relative dipendenze.

Proviamo a generare dei nomi con il faker richiamando la classe Faker\Factory e lanciamo il metodo create() specificando la nazionalità

$faker = Faker\Factory::create('it_IT');

generiamo i nomi casuali, possiamo specificare il sesso

echo $faker->name('M');

testiamo al volo da terminale

php index.php

adesso generiamo oltre al nome, anche un indirizzo e un paragrafo con 4 frasi

require_once 'vendor/autoload.php';

$faker = Faker\Factory::create('it_IT');
echo $faker->name('M');
echo PHP_EOL;
echo $faker->address();
echo "\r\n";
echo $faker->paragraph('4');

Da notare l’uso della costante PHP_EOL e della sintassi “\r\n” 2 modi che permettono entrambi di andare a capo, uguale a scrivere echo “<br />”; che però essendo HTML viene interpretato solo dal browser e non dalla console col comando php.

Installiamo laravel

Quindi con composer possiamo installare facilmente diverse librerie, pacchetti o freamwork, tra cui laravel, possiamo creare un nuovo progetto con la funzione create-project di composer

composer create-project laravel/laravel laravel

Il pacchetto laravel/laravel viene scaricato automaticamente dal packagist e viene creato il progetto e la cartella laravel, l’ultima voce del comando. Nel file composer.json viene aggiunto laravel insieme a tutte le sue dipendenze in automatico, operazione davvero molto lunga da fare a mano senza composer.

A questo punto possiamo verificare l’installazione di laravel avviando il server interno

php artisan serve

con php artisan serve viene avviato il server web interno sulla porta di default 8000

http://127.0.0.1:8000/

Un buon pacchetto che permette di integrare al meglio laravel con gli IDE ed avere l’ autocompletamento, è il pacchetto laravel-ide-helper

composer require --dev barryvdh/laravel-ide-helper

a questo punto è buona norma e per nostra ulteriore comodità installare le facades con i seguenti comandi

php artisan ide-helper:generate
php artisan ide-helper:models
php artisan ide-helper:meta

Per i models bisogna impostarli prima ma soprattutto creare un database e impostare la sua connessione nel file .env di laravel

Installare laravel 8 in plesk

In Plesk è già presente composer, per installare laravel con plesk dobbiamo loggarci in ssh con l’utente del dominio, posizionarci nella cartella dove vogliamo installare laravel e lanciare i seguenti comandi:

export PATH=/opt/plesk/php/7.4/bin:$PATH;
composer global require laravel/installer
composer create-project laravel/laravel httpdocs 8.*

Il primo comando ci mette a disposizione la versione di php indicata, nel nostro esempio la 7.4.

Il secondo scarica l’installer di laravel, l’ultimo crea un progetto chiamato httpdocs e lo installa scaricando la versione 8 di laravel e le sue dipendenze.

A fine installazione da plesk andare su impostazioni di hosting e inserire come root del documento /sottodominio.bloccoappunti.it/httpdocs/public