Zend Framework sulit. Itu tidak dibangun sebagai kerangka kerja entry level, pengetahuan konsep yang terlibat diasumsikan 1 . Yang mengatakan, persyaratan pertama untuk Zend Framework 2.0 adalah untuk membuatnya sedikit lebih mudah:
Kemudahan kurva belajar
Pada akhir 2009, kami melakukan survei terhadap pengguna kerangka kerja untuk menentukan apa yang mereka gunakan, lingkungan apa yang mereka gunakan, dan apa kebutuhan mereka. Masalah utama, tidak ada, adalah kesulitan mempelajari kerangka kerja. Beberapa masalah ini meliputi:
- Kesulitan dalam "jam pertama" dengan kerangka kerja.
- Ketidakpastian tentang "langkah selanjutnya" setelah mulai cepat.
- API yang tidak konsisten dalam kode sumber itu sendiri. Satu komponen dapat menggunakan "plugin," "pembantu", dan "filter" lainnya.
- Ketidakpastian tentang di mana titik ekstensi ada, dan cara memprogramnya.
- Kebingungan apakah mereka dapat menggunakan Zend Framework hanya sebagai tumpukan MVC atau sebagai komponen individual.
Jadi bukan hanya Anda, sulit untuk semua orang - baca seluruh halaman wiki, ada beberapa hal yang diidentifikasi sebagai kompleks yang tidak perlu. Tetapi bahkan jika persyaratan di atas terpenuhi, tetap saja itu tidak akan menjadi kerangka kerja entry level, artinya itu bukan kerangka kerja yang harus Anda pelajari, tetapi yang harus Anda gunakan ketika Anda benar-benar memahami konsep-konsep yang terlibat.
Karena Anda masih belajar, akan jauh lebih berharga untuk membangun arsitektur MVC Anda sendiri. Posting blog terkenal Rasmus Lerdorf 2 " The no-framework PHP MVC framework " memberikan contoh MVC yang sangat sederhana dan bersih melalui PHP prosedural, tanpa kerangka kerja atau perpustakaan pihak ketiga lainnya yang terlibat.
Tetapi jika Anda benar-benar ingin belajar dengan suatu kerangka kerja, Anda harus mempertimbangkan kerangka kerja mikro alih-alih kerangka penuh. Slim memiliki basis kode yang sangat kecil, bersih, dan teruji tuntas dan harus ideal untuk pembelajaran. Saya belum bermain-main dengan kerangka kerja mikro lainnya, Anda harus melakukan penelitian sendiri dan memutuskan mana yang lebih baik untuk Anda.
Dan untuk pengantar perutean yang cepat dan kotor, lihat jawaban saya untuk pertanyaan ini . Ini bukan konsep yang sangat sulit untuk dipahami, tetapi Zend Framework membuatnya tampak jauh lebih banyak daripada yang sebenarnya .
1 Uraian terbaik yang pernah saya baca untuk ZF adalah bahwa itu adalah kerangka kerja kerangka kerja , bukan kerangka kerja aplikasi. Ini kekuatan mentah dan daftar fitur yang ekstrim tidak cocok untuk situs web kecil hingga menengah. Sayangnya saya tidak dapat menemukan di mana saya membacanya.
2 Baca penafian di bagian atas posting blog.
Pembaruan, terinspirasi oleh komentar @ Karpie:
Kerangka kerja tidak seharusnya sulit, inti dari kerangka kerja adalah untuk membuat segalanya lebih mudah. Ada kemungkinan bahwa bahkan dengan pemahaman yang kuat tentang konsep yang terlibat, ZF tidak cocok untuk Anda.
Ada banyak faktor subjektif yang terlibat ketika memilih kerangka kerja, dan kecuali setiap kerangka kerja lain tidak memiliki fungsionalitas yang Anda butuhkan - dan tidak dapat menulis sendiri, Anda harus menghindari ZF dan menggunakan kerangka kerja yang terasa lebih alami bagi Anda.
Jika Anda tahu konsepnya, kerangka kerjanya seharusnya tidak menghalangi.