di librerie – Raccolta di strumenti ed elementi utili per lo sviluppo • Diversi tipi di framework – Application framework – Web framework • Un framework non è un CMS!
a confronto i 3 web framework PHP più diffusi • Comprenderne pregi e difetti aiuta a scegliere la soluzione più adatta per creare la nostra applicazione
Versione 1.1.18.5850 1.0 1.5.1 Linguaggio PHP 4 PHP 5 PHP 5 Licenza MIT License MIT License New BSD License RequisiX PHP 4.3.2 PHP 5.1.4 PHP 5.1.4 MVC Sì Sì Sì i18n e l10n Sì (development) Sì Sì
Database MySQL 4+, PostgreSQL, ADODB A seconda dell’ORM. Propel supporta i DB gesXX da PDO. MySQL, Oracle, IBM DB2, Microsoa SQL Server, PostgreSQL, SQLite, Informix Dynamic Server Database ORM AcXve Record Pabern Propel / Doctrine Table, Row, Rowset Database MigraXon Sì No No ACL Sì No Sì Cache Sì Sì Sì (supporto a numerosi backend)
Form Sì Sì Sì Helper ? Sì Sì Scaffolding Sì Sì No Skeleton Rigido Rigido Flessibile Plugin Sì Sì Sì CLI Bake Pake No Component Dependency Sì Sì Loosely Logger Plugin Sì Sì Config Manager No Sì Sì Web Service Limitato Limitato Eccellente Feed Plugin Plugin Sì
Vantaggi • Supporto a PHP 4 • Framework maturo • Estremamente developer friendly • OperaXvità immediata • CLI • Admin generator • Alta qualità dello sviluppo • ComponenX riuXlizzabili Svantaggi • Non completamente object oriented • Il supporto a PHP 4 limita l’uso di funzionalità evolute previste solo per il 5 • Qualche carenza nelle performance • Integrazione ORM a volte confusionaria o macchinosa • L’ORM non supporta AcXve Record Pabern • Supporto limitato a funcXonal test
A chi si rivolge? • Il supporto a PHP 4 lo rende una scelta ideale, quasi obbligata, per mantenere compaXbilità con versioni precedenX. Questa caraberisXca è, allo stesso tempo, il suo tallone d’Achille. • Oima soluzione per l’immediata produività, per costruire applicazioni con elevata interazione o parXcolare esigenza di customizzazione lato front end. Meno configurazioni, più convenzioni. • Oima soluzione professionale. La curva di apprendimento è maggiore rispebo agli altri, ma permebe allo sviluppatore un maggiore controllo su ogni aspebo dell’applicazione. Meno convenzioni, più configurazioni.