Quando si pensa allo sviluppo web, a parte HTML, CSS e JavaScript, il linguaggio PHP è uno dei nomi che vengono in mente.

Contrariamente a quanto si crede, PHP non è morto. È ancora ampiamente utilizzato per lo sviluppo di siti, compresi grandi nomi come Facebook e Wikipedia.

Secondo W3Techs, PHP è utilizzato da circa il 79% di tutti i siti web. È otto volte più popolare di ASP.NET, il suo più vicino rivale nei linguaggi di programmazione lato server.

La quota di utilizzo di PHP è rimasta costante nell’ultimo anno.

Uso storico di PHP
Uso storico di PHP

I programmatori PHP spesso utilizzano un framework PHP per comporre il loro codice. Scopriamo cosa sono i framework PHP, perché vengono utilizzati ed esaminiamone alcuni dei più popolari.

Cos’è un framework PHP?

Un framework PHP è una piattaforma per creare applicazioni web in PHP. I framework PHP forniscono librerie di codice per le funzioni di uso comune, riducendo la quantità di codice originale da scrivere.

Perché utilizzare un framework PHP?

Ci sono molte buone ragioni per utilizzare i framework PHP al posto della codifica da zero.

1. Sviluppo più rapido

Dato che i framework PHP hanno librerie e strumenti integrati, il tempo necessario per lo sviluppo è minore.

Ad esempio, il framework CakePHP dispone dello strumento a riga di comando Bake, che può creare rapidamente qualsiasi codice di scheletro di cui si possa aver bisogno nella propria applicazione.

Diversi popolari framework PHP dispongono della libreria PHPUnit integrata per facilitare i test.

2. Meno codice da scrivere

L’utilizzo di funzioni integrate nel framework permette di evitare di scrivere tanto codice originale.

3. Librerie per operazioni comuni

Molti task che gli sviluppatori devono svolgere all’interno delle applicazioni web sono abbastanza comuni. Esempi ne sono la validazione dei moduli, la sanificazione dei dati e le operazioni CRUD (Create, Read, Update e Delete). Invece di dover scrivere le proprie funzioni per queste operazioni, potete semplicemente utilizzare quelle che fanno parte del framework.

4. Seguire le best practice della programmazione

I framework PHP di solito seguono le best practice di codifica. Ad esempio, dividono il codice ordinatamente in un certo numero di directory a seconda della funzione.

Struttura delle cartelle predefinita di Symfony (Fonte immagine: Symfony)
Struttura delle cartelle predefinita di Symfony

Vi costringono a organizzare il codice in modo più pulito, più ordinato e più mantenibile.

I framework hanno anche le proprie convenzioni di denominazione per le entità che dovreste seguire.

5. Più sicuro che scrivere le proprie applicazioni

Ci sono molte minacce alla sicurezza di PHP, tra cui lo scripting cross-site, gli attacchi SQL injection e la falsificazione di richieste cross-site. A meno che non si prendano i giusti provvedimenti per proteggere il codice, le applicazioni web PHP saranno vulnerabili.

Utilizzare un framework PHP non sostituisce la scrittura di codice sicuro, ma riduce al minimo le possibilità di exploit degli hacker. I buoni framework effettuano la sanificazione dei dati e includono difese contro le minacce comuni di cui sopra.

6. Migliore lavoro in team

I progetti con più sviluppatori possono andare male se non c’è chiarezza sui seguenti punti:

L’utilizzo di un framework stabilisce chiare regole di base per il vostro progetto. Anche se un altro sviluppatore non ha familiarità con il framework, dovrebbe essere in grado di imparare rapidamente le regole e lavorare in collaborazione.

7. Più facile da mantenere

I framework PHP incoraggiano il refactoring del codice e promuovono lo sviluppo di DRY (Don’t Repeat Yourself). La risultante codebase è più snella ed ha bisogno di meno manutenzione.

Inoltre, non dovete preoccuparvi di mantenere il framework di base, perché questo viene fatto per voi dagli sviluppatori.

Cosa bisogna conoscere prima di utilizzare un framework PHP

La prima cosa che dovete conoscere prima di utilizzare un framework PHP è PHP stesso! Se non avete una buona padronanza del linguaggio, farete fatica a utilizzare un framework. La maggior parte dei framework funziona con PHP versione 7.2 o successiva.

Se avete bisogno di rispolverare il vostro PHP, leggete questi articoli:

Poi avreste dovuto costruire alcune applicazioni PHP per conto vostro, in modo da avere una chiara idea di ciò che è richiesto sul frontend e sul backend.

Anche conoscere PHP orientato agli oggetti è un must, perché la maggior parte dei moderni framework PHP sono orientati agli oggetti. Assicuratevi di comprendere concetti come classi, oggetti, ereditarietà, metodi, trait e modificatori di accesso.

Dato che molte applicazioni web si collegano a un database, è necessario conoscere i database e la sintassi SQL. Ogni framework PHP ha il proprio elenco di database supportati.

È utile comprendere un modello di Mappatura Relazionale degli Oggetti (Object-Relational Mapping o ORM). L’ORM è un metodo per accedere ai dati del database utilizzando la sintassi orientata agli oggetti invece di utilizzare l’SQL. Ciò significa che è possibile scrivere le query del database in un codice PHP familiare, anche se ci possono essere momenti in cui si vuole utilizzare SQL.

Molti framework PHP hanno il loro ORM integrato. Ad esempio, Laravel usa l’ORM Eloquent. Altri utilizzano un ORM open source come Doctrine.

È utile anche sapere come funzionano i server web come Apache e Nginx. Potrebbe essere necessario configurare i file sul server affinché la vostra applicazione funzioni in modo ottimale.

Probabilmente, farete molto del vostro sviluppo a livello locale, quindi dovete conoscere anche il localhost. Un’altra opzione è quella di creare e testare la vostra applicazione in un ambiente virtuale utilizzando Vagrant e VirtualBox.

Architettura del Model View Controller

I framework PHP normalmente seguono il modello di progettazione Model View Controller (MVC). Questo concetto separa la manipolazione dei dati dalla loro presentazione.

Model View Controller
Model View Controller (Fonte immagine: Wikimedia Commons)

Il Model memorizza la logica di business e i dati dell’applicazione. Passa i dati alla View, il livello della presentazione. Lo User interagisce con la View e può inserire istruzioni attraverso il Controller. Il Controller dà questi comandi al Model e il ciclo continua.

In poche parole, il Model riguarda i dati, la View riguarda l’aspetto e il Controller il comportamento.

Un’analogia del modello MVC è l’ordine di un cocktail in un bar.

L’Utente è il patron che arriva al bar (il View) per rinfrescarsi. L’Utente dà il suo ordine al barista (il Controller).

Il Controller compone l’ordine dal Model – la ricetta, gli ingredienti e l’attrezzatura. A seconda del cocktail, può utilizzare uno dei seguenti elementi, o anche altri:

  • Alcool
  • Succo di frutta
  • Ghiaccio
  • Limone
  • Vetro
  • Cocktail shaker
  • Olive
  • Agitatore

Il cocktail finito viene posto sul bancone per lo User. Se lo User desidera un altro drink, deve prima parlarne con il Controller. Non sono autorizzati ad accedere al Model e a mescolare la propria bevanda.

In termini di applicazione PHP, l’MVC potrebbe corrispondere a quanto segue:

  • Model: un database
  • View: una o più pagine HTML
  • Controller: funzioni per accedere e aggiornare il database

Quando si usa un framework PHP, sapersi destreggiare con un’interfaccia a riga di comando (CLI) aiuta. Laravel ha la sua CLI, Artisan Console. Usando il comando make in Artisan potete costruire rapidamente modelli, controller e altri componenti del vostro progetto.

La familiarità con la riga di comando è anche importante per utilizzare il gestore di pacchetti PHP Composer. Il framework Yii è uno dei tanti che usa Composer per installare e gestire le dipendenze, pacchetti che sono necessari per l’esecuzione di un’applicazione.

Packagist è la repository principale dei pacchetti che si possono installare con Composer. Alcuni dei pacchetti Composer più popolari funzionano con il framework Symfony.

Pacchetti popolari di Packagist
Pacchetti popolari di Packagist

Cosa cercare in un framework PHP?

Ecco alcuni fattori da considerare quando si sceglie il miglior framework PHP per il proprio progetto.

In primo luogo, se siete nuovi ai framework PHP, la curva di apprendimento non dovrebbe essere troppo ripida. Non si vorrà investire tempo prezioso nell’apprendimento di un framework se è troppo difficile da capire. Fortunatamente, PHP è uno dei migliori linguaggi di programmazione da imparare.

Poi si vorrà un framework che sia facile da usare e che faccia risparmiare tempo.

Un framework PHP dovrebbe soddisfare i vostri requisiti tecnici per un progetto. Per la maggior parte dei framework ci sarà una versione minima di PHP e alcune estensioni PHP con cui funzionano. Assicuratevi che il vostro framework supporti il database di vostra scelta e che possiate utilizzare il framework con il server web su cui volete effettuare il deploy.

Scegliete una framework che vi garantisca il giusto equilibrio di funzionalità. Un framework ricco di funzionalità può essere una manna per alcuni progetti. D’altra parte, se non avete bisogno di molte funzionalità, scegliete un framework che sia essenziale e minimale.

Alcune funzionalità da cercare sono:

Se avete bisogno di creare un’applicazione che sia scalabile, selezionate un framework che lo renda possibile.

Infine, una buona documentazione e un buon supporto sono importanti per poter sfruttare al meglio il vostro framework PHP. Un framework con una comunità numerosa e vivace è anche più adatto a sopportare la prova del tempo ed è anche in grado di assistervi quando incontrate delle difficoltà.

Lettura consigliata: Come Aumentare il Limite di Memoria PHP in WordPress.

Quali sono i migliori framework PHP?

È difficile ottenere una lista definitiva dei framework PHP. Wikipedia elenca 40 framework PHP, ma alcuni di questi sono meglio descritti come sistemi di gestione dei contenuti, e senza dubbio ce ne sono molti di più.

Tra i primi framework PHP ricordiamo PHPlib, Horde e Pear. La maggior parte dei grandi nomi di adesso sono stati lanciati nel 2005 o più tardi.

Ecco alcuni dei migliori framework PHP in uso oggi.

Laravel

Laravel
Laravel

Laravel è definito come “The PHP Framework for Web Artisans”. È stato sviluppato da Taylor Otwell, che voleva un framework con elementi non disponibiuli in CodeIgniter, come l’autenticazione degli utenti.

Specifiche Veloci

Rilascio: Giugno 2011

Versione attuale: 8, rilasciata l’8 settembre 2020.

Requisiti tecnici:

  • PHP >= 7.2.5 (o utilizzare Laravel Homestead)
  • Compositore installato
  • Supporto database per MySQL 5.6+, PostgreSQL 9.4+, SQLite 3.8.8+, SQL Server 2017+.

Pro di Laravel

È facile iniziare con Laravel Homestead, un ambiente di sviluppo virtuale “fai per te”.

Laravel Homestead è un Vagrant box ufficiale, preconfezionato, che vi fornisce un meraviglioso ambiente di sviluppo senza richiedere l’installazione sulla vostra macchina locale di PHP, di un server web e di qualsiasi altro software server. Non dovrete più preoccuparvi di rovinare il vostro sistema operativo!

Se siete utenti Mac, potete anche scegliere di utilizzare Laravel Valet come ambiente di sviluppo. Per inciso, Laravel Valet supporta Symfony, CakePHP 3, Slim e Zend, oltre a WordPress.

Laravel utilizza un template engine chiamato Blade. Un vantaggio che ha rispetto agli altri template engine è che si può utilizzare PHP all’interno di Blade, cosa che non si può fare con gli altri.

Packalyst, una collezione di pacchetti Laravel, ha più di 15.000 pacchetti da utilizzare nei vostri progetti.

Laravel fornisce una serie di funzionalità e metodi di sicurezza che garantiscono quanto segue:

  • Autenticazione
  • Autorizzazione
  • Verifica email
  • Crittografia
  • Hashing
  • Reset delle password

Eloquent ORM e il Fluent Query Builder di Laravel proteggono dagli attacchi SQL injection, in quanto utilizzano il binding dei parametri PDO. Anche la protezione Cross-Site Request Forgery (CSRF), che utilizza un token di forma CSRF nascosto, è abilitata per default.

Lo strumento a riga di comando Artisan Console di Laravel accelera lo sviluppo permettendo agli sviluppatori di automatizzare i task ripetitivi e di generare velocemente il codice dello scheletro.

Quando abbiamo fatto i test di benchmark di PHP, Laravel è stato il più veloce dei framework PHP che abbiamo provato.

L’ecosistema Laravel dispone di diversi strumenti utili come Mix per la compilazione degli asset CSS e JS e Socialite per l’autenticazione OAuth.

Laravel vanta di una vasta comunità di sviluppatori (come WordPress). Potete trovarli su:

  1. Laracasts: un portale di apprendimento con corsi, blog, podcast e forum.
  2. Laravel.io: un portale di comunità con oltre 45.000 utenti.
  3. Il Laravel subreddit: home di 50.000 artigiani Laravel.

Chi usa laravel?

Symfony

Symfony
Symfony

Symfony è sia un framework PHP che un insieme di componenti PHP per la costruzione di siti web.

Specifiche Veloci

Rilascio: Ottobre 2005

Versione attuale: 5.1.4

Requisiti tecnici:

  • PHP >= 7.2.5
  • Composer installato

I Pro di Symfony

Symfony è una soluzione eccellente per siti web e applicazioni che devono essere scalabili. Il suo sistema di componenti modulari è molto flessibile e permette di scegliere i componenti necessari per il proprio progetto.

Symfony supporta la maggior parte dei database dei più popolari framework PHP:

  • Drizzle
  • MySQL
  • Oracle
  • PostgreSQL
  • SAP Sybase SQL Ovunque
  • SQLite
  • SQLServer

Il modo migliore per interagire con i database è tramite l’ORM Doctrine. Symfony usa mappatori di dati per mappare gli oggetti sul database. Questo mantiene il modello a oggetti e lo schema del database separati, il che significa che, se cambiate una colonna del database, non dovrete apportare molte modifiche al codice.

Il debug dei progetti Symfony è semplice, grazie alla barra degli strumenti integrata.

Symfony utilizza il template engine Twig, che è facile da apprendere, veloce e sicuro.

Packagist elenca oltre 4.000 pacchetti di Symfony disponibili per il download e l’utilizzo.

Symfony ha il supporto commerciale di Sensio Labs. Questo significa che c’è un supporto professionale a disposizione, a differenza della maggior parte degli altri framework PHP. Ha anche release di supporto a lungo termine, che hanno 3 anni completi di supporto.

Gli sviluppatori di Symfony possono formare e ottenere aiuto attraverso diversi canali:

Inoltre, la comunità di Symfony è enorme, con oltre 600.000 sviluppatori attivamente coinvolti.

Chi usa Symfony?

Altri grandi nomi utilizzano componenti di Symfony all’interno dei loro progetti, tra cui Drupal, Joomla e Magento.

CodeIgniter

CodeIgniter
CodeIgniter

Il framework CodeIgniter aiuta a costruire velocemente le applicazioni in quanto ha una configurazione minima.

Specifiche Veloci

Rilascio: Febbraio 2006

Versione attuale: 4.0.3

Requisiti tecnici:

  • PHP >= 7.2
  • Supporto database per MySQL, PostgreSQL, SQLite3

Pro di CodeIgniter

CodeIgniter è noto per la sua velocità. È stato il secondo più veloce dei quattro framework PHP che abbiamo provato nei nostri test di benchmark.

L’impronta leggera del framework (è un download da 1.2MB) fa sì che non ci siano appesantimenti. Potrete aggiungere esattamente i componenti di cui avete bisogno.

CodeIgniter è flessibile: incoraggia lo sviluppo con l’architettura MVC, ma è possibile creare anche applicazioni non-MVC.

Il framework include difese contro gli attacchi CSRF e XSS, oltre a un escaping sensibile al contesto e una Content Security Policy.

CodeIgniter supporta diversi metodi di caching, velocizzando così le vostre applicazioni.

Come notato in precedenza, CodeIgniter ha una curva di apprendimento semplice rispetto ad altri framework ed è abbastanza estendibile.

La community di CodeIgniter consiste di un forum e da un gruppo Slack.

Chi Utilizza CodeIgniter?

Zend Framework / Laminas Project

Zend Framework
Zend Framework

Lo Zend Framework è un framework PHP di lunga data che sta transitando al Laminas Project. La migrazione a Laminas è fortemente raccomandata, in quanto Zend non è più aggiornato.

Il progetto Laminas è composto da 3 parti:

  1. Laminas Components e MVC
  2. Mezzio
  3. Laminas API Tools

Specifiche Veloci

Rilascio: Marzo 2006

Versione corrente: 3.0.0 (Zend) o 1.3.0 (Laminas)

Requisiti tecnici:

  • PHP >= 5.6 (Zend) o >=7.3 (Laminas)
  • Composer installato
  • Supporto database per MariaDB, MySQL, Oracle, IBM DB2, Microsoft SQL Server, PostgreSQL, SQLite e Informix Dynamic Server.

Pro di Zend/Laminas Project

Lo Zend Framework ha avuto più di 570 milioni di installazioni. È anche il framework PHP più utilizzato dalle aziende.

Zend segue gli standard di PHP Framework Interop Group (PHP-FIG), il che significa che il suo codice può essere portato ad altri framework senza difficoltà.

Come Symfony, potete utilizzare esattamente i componenti di cui avete bisogno.

Potete utilizzare Zend per creare API RESTful.

La community di Laminas ha un forum e un Gruppo Slack per la collaborazione e il supporto.

Chi Utilizza Zend/Laminas?

Secondo la homepage di Zend, il framework è stato utilizzato da grandi aziende, tra cui

Yii (Framework)

Yii Framework
Yii Framework

Il nome di questo framework, Yii significa “semplice ed evolutivo” in cinese. Sta anche per “Yes, It Is!

Specifiche Veloci

Rilascio: Dicembre 2008

Versione attuale: 2.0.35
Requisiti tecnici:

  • PHP >= 5.4.0, 7+ raccomandato
  • Composer installato
  • Supporto database SQLite, MySQL, PostgreSQL, MSSQL racle

Pro di Yii

Con Yii si può iniziare a lavorare in pochi minuti. La documentazione è ben scritta e facile da seguire.

Yii Framework ha diverse misure di sicurezza, come l’hashing della password bcrypt, la crittografia, l’autenticazione e l’autorizzzione. La documentazione offre le best practice per prevenire gli attacchi SQL injection, XSS e CSRF.

Gii code generator crea velocemente il codice scheletro, permettendovi di risparmiare tempo.

Gii code generator
Gii code generator

Yii supporta quattro tipi di caching per velocizzare le applicazioni web: data caching, fragment caching, page caching e HTTP caching.

È possibile eseguire codice di terze parti all’interno dei progetti Yii.

La comunità Yii offre supporto live tramite Slack o IRC. C’è anche un forum di discussione e canali di social media. La comunità premia i suoi membri attivi con badge e iscrizioni in una Hall of Fame.

Chi Utilizza Yii?

CakePHP

CakePHP - PHP frameworks
CakePHP

CakePHP offre uno sviluppo PHP veloce e pulito.

Specifiche Veloci

Rilascio: aprile 2005

Versione attuale: 4.1.1

Requisiti tecnici:

  • PHP 7.2 (minimo), 7.4 raccomandato
  • Server HTTP con mod_rewrite preferito
  • Supporto database per MySQL 5.6+, MariaDB 5.6+, PostgreSQdaLite 3.8, SQL Server 2012+.

Pro di CakePHP

La configurazione è minima. Non è necessario impazzire con i file XML o YAML. Una volta configurato il database potete iniziare con il codice.

CakePHP ha il proprio ORM integrato, che è veloce e semplice da usare. Le caratteristiche di sicurezza includono metodi per la crittografia, l’hashing delle password, la salvaguardia dei dati dei moduli e la protezione CSRF.

I componenti e gli helper di CakePHP semplificano lo sviluppo e riducono il numero di task da eseguire.

Github ospita un utile elenco di risorse e plugin per CakePHP.

Potete imparare ad utilizzare CakePHP dal cookbook (documentazione), con la formazione online e le conferenze del CakeFest.

Potete trovare disponibili CakePHP bakers nei loro forum, su Stack Overflow, IRC e Slack. È disponibile anche il supporto pro da Cake DC, gestito dal fondatore di CakePHP, Larry Masters.

Chi Utilizza CakePHP?

Slim

Slim Framework
Slim Framework

Slim è un framework micro PHP spoglio e agile, creato da Josh Lockhart. Si focalizza sulla ricezione di una richiesta HTTP, l’invocazione di una callback e la restituzione di una risposta HTTP.

Specifiche Veloci

Rilascio: Settembre 2010

Versione attuale: 4.5.0

Requisiti tecnici:

  • PHP 7.2 +
  • Web server con rewriting degli URL

Pro di Slim

La codebase di Slim è snella in quanto non ha dipendenze di terze parti. Di conseguenza, è molto veloce.

Slim è particolarmente adatto alla costruzione di piccole applicazioni e API. Se avete bisogno di più dal framework, Slim si integra sia con componenti di prima parte che con componenti di terze parti.

Slim è facile da apprendere e da capire. È possibile avere un’applicazione “Hello World” in pochi minuti.

Slim è valutato da sviluppatori come il miglior framework PHP sul sito di confronti Slant.

Quali sono i migliori framework PHP?
Quali sono i migliori framework PHP?

Il supporto professionale per Slim è disponibile presso Tidelift.

Chi Utilizza Slim?

Phalcon

Phalcon
Phalcon

Phalcon è un framework PHP progettato per la velocità. Viene fornito come estensione per server web scritto in Zephir e C. Non è necessaria alcuna conoscenza di C. Gli sviluppatori lavorano con le classi PHP e i namespace generati dal framework.

Specifiche Veloci

Rilascio: Novembre 2012

Versione attuale: v5

Requisiti tecnici:

  • Estensione PSR
  • PHP 7.4 + (raccomandata l’ultima versione)

Pro di Phalcon

Phalcon è progettato per funzionare velocemente, in quanto ha le seguenti funzionalità:

  • Architettura di basso livello.
  • Carico una tantum di Zephir, estensioni C e PHP.
  • Il codice viene compilato invece che interpretato, quindi è più veloce.
  • Memoria residente, che vuol dire che può essere richiamata ogni volte che è necessario.
  • Non utilizza le letture dei file e le statistiche dei file, a differenza della maggior parte degli altri framework PHP, con conseguente miglioramento delle prestazioni.

Dato che Phalcon è liberamente accoppiato, è possibile creare la propria struttura di directory. Il codice di Phalcon non vive nella directory del progetto, e questo rende il codice leggero.

Il componente di sicurezza di Phalcon aiuta con l’hashing delle password e la protezione CSRF.

Il template engine di Phalcon, Volt, è estremamente veloce e viene fornito con classi helper per creare facilmente delle views.

Potete cercare supporto per Phalcon nella loro documentazione, nei forum, nella Discord chat, su Stack Overflow e su molteplici piattaforme di social media.

Chi Utilizza Phalcon?

Secondo il sito Phalcon BuiltWith, Phalcon è utilizzato da:
garantiscono

FuelPHP

FuelPHP
FuelPHP

FuelPHP è un framework PHP community-driven con oltre 300 contributor durante la vita del progetto.

Specifiche Veloci

Rilascio: Giugno 2011

Versione attuale: 1.8.2

Requisiti tecnici:

  • PHP 5.4+
  • Qualsiasi sever web

Pro di FuelPHP

FuelPHP utilizza l’MVC ma supporta anche HMVC (Hierarchical Model View taskler). Questo aggiunge un altro livello tra Controller e View. I vantaggi del modello di progettazione HMVC sono:

  • Una migliore organizzazione del codice
  • Maggiore modularità
  • Maggiore estendibilità
  • Favorisce il riutilizzo del codice

È possibile scegliere la struttura di file e cartelle che si desidera per il proprio progetto in quanto ci sono pochi vincoli. FuelPHP prende sul serio la sicurezza, grazie alle seguenti caratteristiche:

  • Encoding dell’output
  • Protezione CSRF
  • Filtraggio di input, URI e XSS
  • L’input dell’utente in escape è passato nelle istruzioni SQL

FuelPHP ha la sua utility a riga di comando, oil, che potete utilizzare per eseguire task, effettuare il debug del codice e generare componenti di uso comune.

Il FuelPHP ORM è potente ma leggero.

Potete unirvi alla community di FuelPHP nei loro forum e su Facebook e Twitter.

Chi Utilizza FuelPHP?

  • Wan Wizard – Harro Verton, uno degli sviluppatori di FuelPHP
  • Front Desk – sistema di gestione delle proprietà

Fat-Free Framework

Fat-Free Framework
Fat-Free Framework

Come Slim, Fat-Free Framework (F3) è un micro-framework. Mira a trovare un equilibrio tra utili funzionalità, semplicità, facilità d’uso e velocità.

Specifiche Veloci

Lancio: 2009

Versione attuale: 3.7.2

Requisiti tecnici:

  • PHP 5.4+
  • Qualsiasi server web
  • Supporto database MySQL, SQLite, MSSQL/Sybase, PostgreSQL e MongoDB.

Pro di Fat-Free Framework

Il codice è di circa 65Kb, quindi è veloce. Eppure F3 ha comunque tutte le funzionalità che ci si aspetterebbe. È possibile estenderlo come si desidera con i plugin opzionali.

È molto facile iniziare a lavorare con Fat-Free Framework. Non c’è bisogno di usare Composer, curl, o un dependency injector per iniziare. È possibile creare un’applicazione Hello World in pochi minuti.

Quasi tutto il framework è modulare, quindi è possibile utilizzare solo le parti necessarie per la costruzione delle applicazioni web. Di default F3 non aggiunge codice di cui non avete bisogno, mantenendo le applicazioni al minimo.

La documentazione è chiara e facile da seguire, con molti esempi. Fat-Free Framework offre una scelta di template engine: potete utilizzare PHP, il motore di template di F3, o altri come Smarty o Twig.

Gli sviluppatori di F3 frequentano il Fat-Free Framework Google Group.

Chi utilizza Fat-Free Framework?

Qual è il miglior framework PHP per i principianti?

I migliori framework per i principianti sono quelli più semplici e snelli. Una volta che ne avete appreso uno, siete pronti a passare a uno più ricco di funzionalità, se ne avete bisogno.

Yii sarebbe la mia scelta migliore come framework PHP per principianti. La documentazione di Yii vi guida nella creazione di un’applicazione per visualizzare paesi, insegnandovi il modello MVC e come lavorare con i database durante il percorso.

Web app Countries di Yii
Web app Countries di Yii

Se fate un errore, gli errori sono chiari, vi aiutano a fare il debug e a procedere rapidamente.

Errore Yii per variabile non definita
Errore Yii per variabile non definita

Slim framework è veloce e facile da installare. Slim ha un tutorial sulla prima applicazione per la versione 3 del framework. Purtroppo non è stato aggiornato alla versione 4 di Slim, che è la versione attuale.

Installazione di Slim 4 tramite Composer
Installazione di Slim 4 tramite Composer

Per Fat-Free Framework, si può scegliere se installare tramite Composer o semplicemente scaricare e decomprimere un file zip. Il framework è impostato con un semplice programma “Hello, world”.

La guida per l’utente vi conduce passo passo tra le cose che dovete sapere, dall’instradamento allo unit testing. C’è anche una demo del CMS che permette di vedere come tutte le parti si adattano insieme.

Anche CodeIgniter richiede una configurazione abbastanza semplice ed ha una buona documentazione. Il loro primo tutorial applicativo mostra come costruire un semplice CMS con funzioni CRUD con notizie di attualità.

Pagina dell'archivio notizie di CodeIgniter
Pagina dell’archivio notizie di CodeIgniter

Riepilogo

Se volete ridurre il tempo dedicato allo sviluppo delle applicazioni web con PHP, utilizzare un framework è una scelta intelligente.

Per ottenere il massimo da un framework PHP, ed evitare arrabbiature, assicuratevi di avere una discreta conoscenza di PHP e di comprendere i concetti alla base dei framework: Architettura MVC, sintassi orientata agli oggetti, database e ORM, riga di comando.

Il framework di riferimento che scegliete dipenderà dal tipo di app che state creando. Ci sono framework PHP per tutti i gusti, che vanno dall’ultra-minimale a “tutto tranne il caffè”. Speriamo che questo articolo vi abbia aiutato a trovare il framework PHP perfetto per voi.

Ora a voi: qual è il vostro framework PHP preferito e perché? Fatecelo sapere nei commenti qui sotto!

Claire Brotherton

Claire Brotherton è una web developer di WordPress, scrittrice di blog e accessibility advocate con sede a Edimburgo, in Scozia. Lavora con aziende, organizzazioni non profit e imprenditori che hanno a cuore l'accesso e l'inclusione e scrive regolarmente sul suo sito web, A Bright Clear Web. Scrivetele su X a @abrightclearweb.