Silex, standing on the shoulder of giants

Giants

Silex è un micro framework PHP basato sul fratello maggiore Symfony 2 dal quale eredita scelte progettuali e componenti.

La definizione “A PHP micro-framework standing on the shoulder of giants” è assolutamente azzeccata, Silex è micro ma nasconde (nemmeno troppo) tante tante potenzialità.Parlando di Silex parliamo di symfony 2, parlando di symfony 2 parliamo di php 5.3 quindi, se sui vostri server non avete ancora a disposizione questa release di php, potete (oltre che essere un pò imbarazzati) anche saltare la lettura, Silex non fa per voi (vi vogliamo bene lo stesso…).

Utilizzare un micro framework può rivelarsi scelta vincente in una serie molto varia di occasioni che vanno dallo sviluppo dell’applicazione facebook fino al mini sito, passando per script più o meno complessi. In generale in tutte quelle situazioni dove installare un framework completo introdurrebbe una complessità eccessiva un micro come Silex può essere un ottimo punto di partenza, offrendovi di avere semplicità da un lato e un set minimo di funzionalità già pronte dall’altro.

Solo per citare le prime che mi vengono in mente, avere un micro “sotto i piedi” vi permette di poter contare su:

  • routing
  • escaping
  • un minimo di organizzazione e di separazione tra logica e presentazione

Nel caso specifico di Silex avrete a disposizione, tra componenti del framework ed estensioni:

  • caching
  • logging
  • gestione sessione utente
  • persistenza degli oggetti (esiste estensione per doctrine 2)
  • un motore di template (esiste estensione per twig)

Fondamentalmente avete la possibilità di far crescere la vostra applicazione secondo necessità e senza dover reinventare la ruota.

Avere alle spalle symfony è uno dei vantaggi maggiori per questo “piccoletto”, sicuramente contribuirà ad allargarne la base di utenza (sia utilizzatori che sviluppatori) il che, di riflesso, porterà vantaggi sia al framework in se che a chi deciderà di adottarlo nei propri progetti.

Condividere componenti e scelte progettuali inoltre permette un altissimo riuso sia di codice che di competenze. Sono abbastanza sicuro che mi capiterà di portare codice nato all’interno di un progetto Silex in un’applicazione Symfony e viceversa.

In rete si trova già diverso materiale, sia documentazione che codice di esempio. Dato che il framework è molto giovane può capitare che gli snippet di codice non siano corretti al 100% ma la documentazione ufficiale è molto chiara e completa ed è sicuramente il miglior punto di partenza.

Recentemente ho tenuto una breve introduzione al framework, in occasione di uno degli incontri di formazione periodica che organizziamo in H-art, le slide sono a disposizione su slideshare:

Il contenuto delle slide è poco più che una raccolta delle informazioni che si trovano in rete, come spesso accade uomini migliori hanno già prodotto eccellente materiale sull’argomento. Ecco le risorse utilizzate per preparare la presentazione e alcuni link github piuttosto interessanti con applicazioni di esempio:

Tra le cose buone già prodotte da silex mi sento di segnalare Sismo.