Zend Framework è difficile. Non è stato costruito come un framework entry level, si presume che la conoscenza dei concetti coinvolti 1 . Detto questo, il primo requisito per Zend Framework 2.0 è renderlo un po 'più semplice:
Facilita la curva di apprendimento
Alla fine del 2009, abbiamo effettuato un sondaggio tra gli utenti del framework per determinare cosa usano, quali ambienti usano e quali sono le loro esigenze. Il problema principale, nessuno escluso, era la difficoltà di apprendere il framework. Alcuni di questi problemi includono:
- Difficoltà nella "prima ora" con il quadro.
- Incertezza sui "passi successivi" dopo l'avvio rapido.
- API incoerenti nel codice sorgente stesso. Un componente può utilizzare "plug-in", un altro "helper" e un altro "filtro".
- Incertezza su dove esistano i punti di estensione e su come programmarli.
- Confusione sul fatto che possano usare Zend Framework solo come stack MVC o come singoli componenti.
Quindi non sei solo tu, è difficile per tutti - leggi l'intera pagina wiki, ci sono alcune cose che sono identificate come inutilmente complesse. Ma anche se il requisito di cui sopra è soddisfatto, non diventerà comunque un framework entry level, il che significa che non è un framework su cui dovresti imparare, ma che dovresti usare quando hai effettivamente compreso i concetti coinvolti.
Dato che stai ancora imparando, sarebbe molto più prezioso costruire la tua architettura MVC. Di Rasmus Lerdorf famigerato 2 " Il no-framework framework PHP MVC " post del blog fornisce un esempio molto semplice e pulita di MVC attraverso PHP procedurale, senza alcun quadro o altra libreria di terze parti coinvolte.
Ma se vuoi davvero imparare con un framework, dovresti considerare un micro framework invece di uno completo. Slim ha una base di codice molto piccola, pulita e accuratamente testata e dovrebbe essere ideale per l'apprendimento. Non ho giocato con nessun altro micro framework, dovresti fare le tue ricerche e decidere quale è meglio per te.
E per un'introduzione veloce e sporca all'instradamento, vedi la mia risposta a questa domanda . Non è un concetto molto difficile da capire, ma Zend Framework lo fa sembrare molto più di quello che è in realtà .
1 La migliore descrizione che ho letto per ZF è che è un framework per la creazione di framework , non un framework per applicazioni. È pura potenza e un elenco estremo di funzionalità non è adatto a siti Web di piccole e medie dimensioni. Sfortunatamente non riesco davvero a trovare dove l'ho letto.
2 Leggi la dichiarazione di non responsabilità nella parte superiore del post del blog.
Aggiornamento, ispirato al commento di @ Karpie:
Un framework non dovrebbe essere difficile, il punto centrale di un framework è quello di rendere le cose più facili. È possibile che anche con una solida comprensione dei concetti coinvolti, ZF non sia adatto a te.
Ci sono molti fattori soggettivi coinvolti nella scelta di un framework e, a meno che ogni altro framework manchi di funzionalità di cui hai assolutamente bisogno - e non puoi scrivere da solo, dovresti evitare ZF e usare un framework che ti sembra più naturale.
Se conosci i concetti, il framework non dovrebbe interferire.