Alla scoperta del Framework PHP Laravel

Pubblicato 9 months ago ・ 4 mins read
IMPORTANTE

La guida a Laravel 7 sta arrivando!

Laravel per Tutti sarà presto disponibile.

Resta in contatto, scegli tu il modo.


TL;DR

Un'infarinatura di base per una comprensione ottimale della logica del framework php più popolare del momento. Eccoti un breve elenco degli argomenti trattati:

  • Cosa si intende per OOP
  • Cos’è PHP
  • Cosa significa MVC
  • Cos’è un Framework
  • Che cos’è Laravel
  • Come funziona Laravel


Cosa si intende per OOP

OOP sta per Object Oriented Programming, ovvero Programmazione Orientata ad Oggetti.

Il paradigma OOP nasce per migliorare l’astrazione logica della programmazione procedurale, troppo limitata e lenta. Come? Introducendo l’elemento Oggetto (o istanza) che si occuperà di eseguire un solo compito.

Gli oggetti menzionati poco sopra sono composti da Classi, ovvero dei modelli contenenti variabili e funzioni ancora più specifiche.

Queste variabili e funzioni prendono il nome, rispettivamente, di Attributi e Metodi.

Lo stesso oggetto potrà essere richiamato più volte durante il flusso logico. Ma, a seconda del metodo richiesto, utilizzerà attributi diversi con output differenti.

______

Approfondimenti

📙 Algoritmi e strutture di dati [🇮🇹]

📙 La Programmazione Orientata Agli Oggetti [🇮🇹]


Cos’è PHP

Rasmus Lerdorf

Rasmus Lerdorf


Nel 1994 Rasmus Lerdorf, il suo creatore, aveva concepito PHP come una raccolta di script C.G.I. (Common Gateway Interface) — adesso passato al FastCGI — che permettevano una facile gestione delle pagine personali in maniera dinamica e veloce. Con le versioni successive venne introdotto il supporto a mSQL - il predecessore di MySQL - e una gestione più semplice dei form.

Acronimo ricorsivo di Hypertext Preprocessor (o alle origine di Personal Home Page), PHP è un linguaggio di scripting interpretato e attualmente utilizzato principalmente per sviluppare applicazioni lato server (backend).

______

Approfondimenti

📙 Sviluppare in PHP 7. Realizzare applicazioni Web e API professionali [🇮🇹]

Cosa significa MVC

Modello grafico di MVC

Modello grafico di MVC


MVC — Model-View-Controller — è uno schema architetturale molto diffuso nello sviluppo di software, visto che si occupa della suddivisione del flusso logico in tre blocchi interconnessi tra loro.

  • Funzionalità di Business: Il blocco che gestisce direttamente i dati, i principi logici e le regole dell’applicazione. Questo significa che lo stesso dato può avere un output diverso in base all’interfaccia grafica e al tipo di richiesta, il tutto senza modificare l’informazione sorgente.
  • Logica di Controllo: Il nucleo del sistema (Core) è il blocco che contiene materialmente il codice con tutte le istruzioni scritte dallo sviluppatore. Intercetta gli input dell’utente, li elabora, interroga i dati e genera un output non interpretato.
  • Logica di Presentazione: Interfaccia grafica (GUI) o Vista (View), è il blocco che si interfaccia direttamente con l’utente finale. Qui vengono visualizzati ed interpretati tutti gli output generati dal sistema.

Seguendo lo schema proposto poco sopra, è facile evincere che l’utente non potrà mai avere l’accesso diretto sui dati. Allo stesso dato, quindi, potranno accedervi più utenti con risultati diversi.

Il principio del Divide et Impera non è applicabile solo lato utente.

Vista l’astrazione dei blocchi, due sviluppatori potranno lavorare in modo asincrono sul Backend e Fronted dell’applicazione senza problemi di sorta.

Laravel sposa appieno questo principio regalando un’esperienza di sviluppo senza eguali.

______

Approfondimenti

📙 Design patterns - Pearson [🇮🇹]


Cos’è un Framework

Un Framework è un insieme di classi (ricordi il capitolo  ️Cosa si intende per OOP?) predefinite e facilmente implementatilisu cui un’applicazione può essere progettata e sviluppata.

Definisce uno standard di sviluppo rendendo possibile la realizzazione di librerie e integrazioni ad-hoc.

L’utilizzo di Framework è diventato un requisito fondamentale per restare al passo con i frenetici tempi di sviluppo odierno.

Funzioni basilari come l’autenticazione, la validazione dei dati in un form o il routing delle pagine sono già disponibili e ben documentate.

L’utilizzo di un Framework in un progetto non è obbligatorio, ma è la scelta più sensata che tu possa fare.

Esempio di un framework nella vita quotidiana

______

Approfondimenti

📙 Clean architecture. Guida per diventare abili progettisti di architetture software [🇮🇹]


Che cos’è Laravel

“Originariamente si chiamava Bootplant. Ma il nome non mi convinceva molto. Nelle cronache di Narnia, Cair Paravel era il nome di un castello in cui vivevano i re e le regine del regno. Ho pensato così a Laravel. Ritenevo che il nome avesse un suono elegante e sofisticato. Il nome ideale per questo Framework “.

Rilasciato 8 anni fa da Taylor Otwell con l’intento di rendere lo sviluppo web facile e divertente, Laravel ha ormai superato le 52 mila stelle su Github ed è diventato il framework PHP più utilizzato e apprezzato da gran parte dei web developer PHP.

Un confronto con i Framework PHP.

Non ha catturato l’attenzione soltanto della classe OLD SCHOOL di PHP, che hanno visto in Laravel una ventata di aria fresca ma, gradualmente, ha attirato anche una schiera di curiosi che si sono lasciati ammaliare dall’eleganza e pulizia del codice.

Laravel e il suo interesse sempre crescente.

Secondo ZipRecruiter, in America, nel 2018 lo stipendio medio di un Laravel Developer si aggira sui $84,674 l’anno. Niente male se parli un buon inglese e sogni di andare a vivere negli States, no?

Ovviamente il valore è da prendere con le pinze. Utopistico in Italia. Ma ho preferito scriverti quella cifra per dimostrati che Laravel è una realtà. Una bellissima realtà.

Come funziona Laravel

Obbligatorio ed essenziale per la corretta esecuzione di Laravel, Composer è un PHP dependency manager obbligatorio per la corretta esecuzione del Framework.

Avrai accesso a tutte le librerie presenti su Packagist.org, perfettamente compatibili con Laravel e documentate ottimamente.

Ma Laravel non è solo un contenitore di plugin, ha diverse features che lo rendono interessante sotto molto aspetti:

  • Blade, il template engine;
  • Console Artisan;
  • ORM Eloquent;
  • Sistema di “Facciate” (Facades);
  • Sistema di routing completamente personalizzabile;
  • Creazione Middleware semplificata;
  • Supporto per localizzazione e multi-lingua;
  • Autenticazione pronta all’uso;
  • Gestione gate e policy;
  • Sistema di hash con Bcrypt e Argon2;
  • Ottimizzazione cache con Redis o Memcached;
  • API Resource;



IMPORTANTE

La guida a Laravel 7 sta arrivando!

Laravel per Tutti sarà presto disponibile.

Resta in contatto, scegli tu il modo.

© 2020 Francesco Mansi

Questo sito utilizza cookie tecnici per migliorare l'esperienza utente.