Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Phalcon, un framework PHP compilato

Link copiato negli appunti

Una delle critiche portate nei confronti di PHP è data dai bassi livelli prestazionali raggiunti dai framework disponibili in questo linguaggio. Se questa non è una verità assoluta perché molto dipende dal livello di complessità dell'architettura, è sicuramente vero che l'esecuzione di codice interpretato, come quello scritto in PHP, risulterà in genere meno performante di un codice compilato. Da alcuni anni sono disponibili dei progetti nati per realizzare framework compilati come un'estensione per l'interprete e caricati esattamente come viene fatto per librerie di uso comune come GD o PDO.

Tra i progetti più maturi troviamo Ice e Phalcon, entrambi con supporto pieno per PHP 7 e prestazioni migliori di sette volte rispetto ai veloci microframework. Il lato negativo di questi progetti risiede nella loro scarsa diffusione e, soprattutto, nella necessità di avere accesso sistemistico alla macchina che ospiterà il progetto per poter installare le estensioni.

Phalcon

Phalcon in particolare ha avuto un miglioramento radicale per quello che riguarda il supporto, la documentazione, la stabilità e la comunicazione, ritagliandosi uno spazio, anche se ancora piccolo, in un mercato saturo di competitor. Questo progetto è nato come framework monolitico per fornire tutte le funzionalità necessarie allo sviluppo di applicazioni Web ma pur caricando l'intero codice come una libreria unica è possibile scegliere di usarne solo una parte.

All'interno della libreria compilata trovano posto infatti:

  • autoloader con supporto per PSR-0, PSR-4, cartelle e file singoli;
  • dependency injection container;
  • ORM con supporto per MySQL, PostgreSQL e SQLite;
  • sistema di routing con supporto per i vari metodi HTTP;
  • template engine con una sintassi simile a Twig;
  • framework di validazione con supporto predefinito per molti schemi comuni;
  • framework per la realizzazione di form pienamente integrato con il sistema di validazione;
  • sistema di caching compatibile con diversi backend;
  • funzionalità comode all'interno di un framework come la gestione delle sessioni, dei messaggi di tipo flash, un paginatore e un event manager.

Il team di sviluppo di Phalcon ha fatto infine un dono meraviglioso alla comunità di sviluppatori PHP, creando un linguaggio di programmazione intermedio tra il PHP e il C, chiamato Zephir, che permette di scrivere estensioni tradotte in C e quindi compilate come librerie binarie. Di fatto sia Phalcon che Ice utilizzano questo linguaggio per semplificare lo sviluppo, ma potenzialmente ogni libreria PHP potrebbe essere riscritta in Zephir per incrementi prestazionali tangibili.

Phalcon

Oltre alla libreria compilata è disponibile anche un repository per classi scritte in PHP pensate per interagire con il framework (ad esempio si potrebbe pensare all'implementazione dell'ORM per altri database server) ed essere portate in Zephir nel caso in cui ci siano richieste sufficienti. Questo è anche il luogo ideale in cui poter contribuire direttamente al progetto.

Via Phalcon - Ice

Ti consigliamo anche