Saya seorang pemula untuk OOP, dan saya belajar paling baik dengan contoh.
Anda bisa mengatakan pertanyaan ini mirip dengan proyek open source Scala mana yang harus saya pelajari untuk mempelajari praktik pengkodean terbaik - tetapi dalam PHP.
Saya telah mendengar-katakan bahwa Symfony memiliki 'arsitektur' terbaik (saya tidak akan berpura-pura tahu apa artinya sebenarnya), dan juga ORD Ajaran. Apakah layak untuk menghabiskan berbulan-bulan membaca kode sumber proyek-proyek ini, mencoba menyimpulkan pola yang digunakan dan mempelajari trik-trik baru?
Saya telah melihat jumlah halaman web yang sama yang tidak sesuai dan menyukai basis kode Zend (akan memberikan tautan jika dianggap perlu).
Apakah Anda tahu ada proyek lain yang akan membuat pengembang veteran OOP meneteskan air mata sukacita?
Tolong izinkan saya menambahkan bahwa kepraktisan dan ruang lingkup penggunaan sama sekali bukan masalah di sini - saya hanya ingin melakukan:
- Pilih proyek yang memiliki basis kode yang dianggap luar biasa oleh devs jauh lebih baik dan lebih besar dari saya.
- Tulis kode yang mencapai apa yang dikerjakan proyek.
- Bandingkan hasilnya dan coba pelajari apa yang tidak saya ketahui.
Pada dasarnya, basis kode minat akademik. Tolong ada rekomendasi?
sumber
Jawaban:
Symfony 2 mungkin merupakan proyek besar terbaik untuk dipelajari tetapi cukup besar.
Saya baru-baru ini menemukan proyek PHP open source yang rapi dan kecil bernama Phrozn (generator situs statis). Basis kode-nya relatif kecil sehingga Anda bisa memeriksanya dengan cukup cepat.
MEMPERBARUI:
Phrozn adalah modern (menggunakan PHP 5.3+ dan sangat bergantung padanya), ekstensibilitasnya, memiliki cakupan kode yang ketat. Ini juga menggunakan kembali kode dari proyek yang ditulis dengan baik lainnya seperti Symfony (YAML), Zend (Autoloader), PEAR dan Twig.
OOP, menggunakan ruang nama dan didokumentasikan dengan sangat baik. Saya tidak mengatakan itu sempurna atau bahwa itu dapat dibandingkan dengan proyek seperti Symfony tetapi layak dicoba.
sumber
Yah, secara pribadi saya akan mengatakan lihat Symfony2 . Ini adalah proyek besar end-to-end terbaik yang pernah saya lihat. Itu bukan untuk mengatakan tidak ada bagian yang buruk untuk itu, tetapi secara keseluruhan, itu cukup bagus.
Sekarang, Zend ada di tengah. Jika Anda melihat API publik, itu cukup bagus. Ada beberapa bagian WTF untuk itu, tetapi sebagian besar tidak masalah. Jika Anda mulai menggali lebih dalam, Anda akan menemukan BANYAK lebih banyak kode WTF ...
Sejauh apa yang harus dihindari:
Sejauh yang lain, Anda akan menemukan itu hit dan miss. Ada bagian baik dan buruk untuk semua desain. Lihatlah Lithium , ada beberapa konsep desain yang sangat keren. Tetapi ia juga memiliki banyak pengalihan fubar dan peretasan untuk membuatnya berfungsi.
Dan itulah yang harus dibawa ke bank. Tidak ada desain yang sempurna, jangan coba-coba menemukannya. Sebaliknya, lihatlah banyak dari mereka di luar sana dan putuskan sendiri. Cobalah masing-masing, coba hancurkan mereka. Cobalah untuk memahaminya hanya dengan membacanya (yang merupakan tes yang bagus untuk desain waras) ...
Hanya pendapat pribadi saya ...
sumber