PHP adalah alat yang luar biasa, bisa sederhana atau kompleks. Proyek yang berbeda harus menggunakan PHP yang berbeda.
Proyek kecil - PHP sederhana dan langsung.
Umumnya, untuk situs web dengan kurang dari 20 halaman fungsional, kita dapat menggunakan struktur kerangka kerja yang sangat sederhana untuk menulisnya. Pada skala ini, saya menyarankan menggunakan metode pengkodean yang lebih berorientasi proses langsung. Alasannya sangat sederhana. Tidak perlu membuat banyak file kelas. Akibatnya, hanya ada satu file baru di controller. Tentu saja, proyek dengan persyaratan yang sering berubah tidak termasuk.
Pada level ini, keunggulan PHP sudah jelas: perkembangannya cepat, sekilas terlihat jelas. Kekurangannya juga tersembunyi dengan baik.
Proyek berukuran sedang - OO PHP yang terstruktur dengan indah
Untuk proyek berukuran sedang, saya sarankan menggunakan kerangka kerja yang dirancang dengan baik. Kerangka kerja ini dapat didasarkan pada model MVC dan merangkum banyak operasi yang mendasarinya yang terbaik adalah mekanisme cache yang transparan, sehingga mekanisme OO yang kami tambahkan untuk beradaptasi dengan perubahan dapat berjalan lebih cepat dan lebih baik.
pada tingkat ini. Kekurangan PHP mulai terlihat, seperti dukungan OO yang tidak lengkap (PHP5 ini telah ditingkatkan secara signifikan) dan hanya mode single-threaded. Selain itu, beberapa alat periferal mulai kurang dukungan. Misalnya, PHP tidak memiliki alat pemfaktoran ulang yang baik dan tidak ada alat pengujian unit yang baik yang terintegrasi ke dalam IDE. Keunggulannya tentu saja adalah perkembangan aslinya yang pesat dan beragam sumber daya open source yang tersedia.
Proyek besar - PHP yang diperluas dan dioptimalkan.
Proyek besar di sini hanya mengacu pada proyek terdistribusi, yaitu, program Anda perlu diterapkan di server N. Pada level ini, PHP kurang mendapat banyak dukungan dibandingkan j2ee. Saya telah membahas secara detail dengan shadow on 735 beberapa masalah yang perlu diselesaikan jika PHP ingin diterapkan pada sistem besar. Tentu saja masalah tersebut tidak hanya masalah pada bahasa PHP saja, tetapi juga mencakup masalah pengembangan di sekitarnya:
1 Berbagi kode halaman PHP, PHP Setelah kode sumber dimuat ke dalam memori satu kali, kode tersebut disimpan di dalamnya - ini dapat dilakukan dengan pengoptimal APC dan Zend.
2 Berbagi objek data antar halaman PHP. Objek data, seperti array, dapat dibagikan antara a.php dan b.php. Ini sekarang dapat dilakukan menggunakan serialisasi, tetapi akan ada file io memori atau memcached untuk menanganinya.
3 Kumpulan koneksi database PHP, karena dalam kasus beberapa front end, PHP tidak dapat mengontrol koneksi ke database, sehingga perlu membuat kumpulan koneksi di depan database, mirip dengan sqlrelay. Selain itu, data caching juga sangat penting. Ada tip untuk pengembangan bertekanan tinggi, yaitu jangan menyentuh database jika bisa.
4 sistem cache front-end PHP. Mekanisme cache yang transparan dan dapat dikontrol untuk memastikan bahwa halaman situs web menanyakan database dengan frekuensi paling sedikit. Ada banyak penerapannya, tapi saya belum menemukan yang bagus.
5. Setelah aplikasi PHP berhasil menyelesaikan masalah ini, tidak akan ada masalah dalam mengatasi tekanan yang sedikit lebih besar.
Pada level ini, penting untuk mengintegrasikan PHP, Java, C++, python dan sejenisnya untuk menjadikannya sistem yang efisien. Kita dapat menggunakan memcached untuk manajemen memori terdistribusi, Lucene untuk pengambilan teks lengkap, dan wadah ejb untuk menempatkan beberapa komponen logika bisnis. PHP berfungsi sebagai perekat antara front end dan sistem untuk menyatukannya dengan cepat dan fleksibel.