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.
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.
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:
- Documentazione
- Decisioni di design
- Standard di codifica
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:
- I Migliori Tutorial PHP
- PHP 8.1 (la Versione Attuale)
- PHP 8.2 (la Prossima Versione)
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.
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.
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:
- Testing
- Memorizzazione nella cache
- Motore di template: un modo per ottenere l’output di PHP all’interno di HTML utilizzando una classe PHP
- Sicurezza
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 è 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:
- Laracasts: un portale di apprendimento con corsi, blog, podcast e forum.
- Laravel.io: un portale di comunità con oltre 45.000 utenti.
- Il Laravel subreddit: home di 50.000 artigiani Laravel.
Chi usa laravel?
- Vogue Archive – moda
- Ascot – ippodromo
- Camping World RV & Outdoors – vendita al dettaglio
- Restaurants.com – motore di ricerca per ristoranti
- Barchart – azioni e quote
- Visit Maine – turismo
- Fischer Homes – costruzione
- Explore Georgia – turismo
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:
- Documentazione completa
- Sensio Labs University, la piattaforma di e-learning di Symfony
- SymfonyCasts
- Symfony Certification
- Conferenze su Symfony
Inoltre, la comunità di Symfony è enorme, con oltre 600.000 sviluppatori attivamente coinvolti.
Chi usa Symfony?
- Sainsbury’s Magazine – pubblicazione
- Intelius – ricerca di dati pubblici sulle persone
- Sito Sony VAIO UK – retail
- Sabatier Shop – vendita al dettaglio
- Foot District – vendita di al dettaglio
- Premio Nobel per la pace
Altri grandi nomi utilizzano componenti di Symfony all’interno dei loro progetti, tra cui Drupal, Joomla e Magento.
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?
- G-Shock – vendita al dettaglio
- WooBox – marketing
- Buffer – tecnologia
- TestandTrack – educazione
- Casio – tecnologia
- BiKe Easy – outdoor
- Barracuda – Sicurezza informatica
- FuelCMS – content management system
Zend Framework / Laminas Project
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:
- Laminas Components e MVC
- Mezzio
- 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
- BBC – media
- BNP Paribas – finanza
- Cisco Webex – videoconferenze
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.
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?
- Crowdcube – piattaforma di crowdfunding
- WordCounter – strumento di editing
- Which? – sito web per i consumatori
- Purple – vendita al dettaglio
- YMCA – nonprofit
- Pastebin – strumento online
- Fast Company Events – eventi live e virtuali
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?
- Visit NC – turismo
- 10 Fast Fingers – istruzione
- Coconala – marketplace di e-learning
- GoodFirms – marketplace di software
- Printivo – e-commerce
- Citizens, Inc – finanza
Slim
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.
Il supporto professionale per Slim è disponibile presso Tidelift.
Chi Utilizza Slim?
- Top Web Comics – Editoria
- Canine Principles – formazione
- CG Forge – istruzione
- Betterplace Academy – istruzione
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
- Learny Online – apprendimento
- Outsmart – statistiche
- Marchi Auto – concessionaria auto
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
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?
- Malwarebytes Jobs – assunzioni
- Eve University Dev Pathfinder – gioco
- Andiamo – assunzioni
- Baker Online – vendita al dettaglio
- Eloquens – business
- PC Specs – tecnologia
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.
Se fate un errore, gli errori sono chiari, vi aiutano a fare il debug e a procedere rapidamente.
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.
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à.
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!
Non ho trovato in elenco https://dressapi.com: è per PHP 8.x ed ha molte caratteristiche innovative come ad esempio:
– la gestione automatica delle relazioni;
– l’impaginazione
– l’ordinamento
– la cache integrata
– il check sui dati in input
– la connessione ritardata al db (che in combinazione con la cache lo rende velocissimo)
Senza contare che nella maggior parte dei casi occorre mettere mano solo al file di configurazione e già funziona completamente!