Apakah kerangka kerja benar-benar diperlukan dalam PHP?
Apa kelebihan dan kekurangan dari menggunakannya?
Apakah kerangka kerja benar-benar diperlukan dalam PHP?
Apa kelebihan dan kekurangan dari menggunakannya?
Jawaban:
Tidak. Tapi itu bagus.
Pro : Menghemat waktu tidak harus membangun kembali kode sendiri. Gunakan segudang fitur, fungsi, dan struktur data yang dibangun orang lain yang berlaku untuk proyek Anda.
Cons : Tidak membuat kode sendiri bisa menjadi kerugian pada tingkat pemahaman yang lebih baik atas dasar di mana proyek Anda beroperasi.
Kerangka kerja aplikasi web hanya sebaik pengalaman Anda dengannya.
Setiap kerangka kerja memiliki kurva belajar, sampai Anda mengatasi kurva itu, Anda mungkin akan akhirnya melakukan hal-hal yang begitu terbalik sehingga Anda meniadakan semua manfaat menggunakan kerangka kerja. Aplikasi Anda akan lambat untuk dikembangkan, kode akan sulit untuk diikuti dan semuanya akan rusak ketika versi baru dari kerangka dirilis. Saya akan merekomendasikan untuk tidak mencoba menggunakan kerangka kerja yang tidak dikenal (atau teknologi asing) untuk proyek dengan tenggat waktu yang ketat.
Bagaimana seseorang menjadi lebih baik dalam menggunakan kerangka kerja?
Anda harus membangun beberapa aplikasi mengerikan dewa dan beralih. Akhirnya Anda akan mengetahui keanehan, dan menggunakan kerangka kerja akan memungkinkan Anda waktu pengembangan lebih pendek dan kode yang lebih terorganisir.
Haruskah Anda menggunakan kerangka kerja PHP?
Setiap orang yang kode PHP cukup akhirnya menggunakan kerangka kerja. Pertanyaannya adalah, apakah Anda akan menggunakan kerangka kerja Anda sendiri atau yang dikembangkan oleh pihak ketiga? Dalam pengalaman saya, Anda mungkin tidak akan pernah mengembangkan kerangka kerja Anda sendiri yang akan cocok dengan kekokohan dan kualitas kerangka kerja pihak ketiga. Yang mengatakan, mengembangkan kerangka kerja Anda sendiri tampaknya menjadi hak lintas di komunitas PHP, jadi, jangan biarkan saya mencegah Anda dari menulis kelas abstraksi database Anda sendiri.
Berikut ini grafik yang membantu:
Menurut Rasmus Lerdorf , Anda tidak memerlukan kerangka tambahan, karena PHP sendiri merupakan kerangka kerja. http://toys.lerdorf.com/archives/38-The-no-framework-PHP-MVC-framework.html
Yah, itu benar-benar tergantung pada ukuran proyek Anda. Sebuah beranda tanpa basis data dan tidak lebih dari 10 halaman, kerangka kerja akan terlalu banyak, terutama karena framewroks selalu membutuhkan banyak konfigurasi dan penyesuaian dalam banyak kasus, agar sesuai dengan kebutuhan spesifik. Dan dalam beberapa situasi mereka mungkin sedikit lebih lambat daripada beberapa halaman yang termasuk dalam file (pikirkan tentang semua kerangka kerja yang perlu dimuat untuk menggunakan fitur-fiturnya.).
Sekarang, jika Anda merencanakan situs ukuran menengah / besar, dengan interaksi basis data, layanan web, dll., Anda akan memerlukan kerangka kerja untuk membantu Anda berinteraksi dengan berbagai teknologi dan mengatur kode Anda sehingga ketika ada masalah, Anda harus habilitie untuk dengan cepat mendeteksi dan memperbaikinya. Juga jika Anda berpikir tentang klien, mereka selalu berubah pikiran tentang perangkat lunak, jadi jika klien perlu memodifikasi atau menambahkan fitur baru, Anda tidak harus melewati semua kode Anda dan berpikir tentang bagaimana cara saya menghubungkan fitur baru ini di semua sphagetti ini.
Ada banyak pro dan kontra lainnya, tetapi ini adalah yang pertama kali terlintas di pikiran saya.
Sunting: Saya menggunakan kerangka kerja symfony di pangkalan harian dan juga melakukan pekerjaan dengan php untuk universitas (saya memiliki beberapa kursus tentang pengembangan web yang tidak diizinkan untuk menggunakan kerangka kerja apa pun), jadi sebagian besar ini berasal dari pengalaman itu.
Kamu bercanda kan?
Kebutuhan tergantung pada penggunaan. Komputer tidak diperlukan untuk umat manusia, baik mobil, dll.
Adapun kelebihan / kekurangan, untuk masing-masing itu sendiri!
Saya ingin menunjukkan beberapa kode contoh dari kerangka kerja saya sendiri:
class Product extends DatabaseRow {
public $name='';
public $price=0.0;
public $images=array();
public $description='';
public table(){
return 'products';
}
}
$p=new Product();
$p->name='Bread';
$p->price=0.5;
$p->images=array('loaf1.jpg','bakery.jpg');
$p->description='Our premium diet bread.';
$p->save();
Lihat apa yang saya lakukan di sana? Kelas itu berfungsi sebagai model untuk sebuah toko. Apa yang istimewa dari OO? Jika tabel, atau kolom apa pun tidak ada, itu dibuat secara dinamis. 0 pasang skrip. Tentu saja, ini adalah fitur spesifik dalam kerangka saya. Tetapi Anda mendapatkan idenya.
$p=new Product($the_id); $p->load();
The load()
adalah untuk penggabungan berturut-turut sebagai lawan Timpa seluruh baris.
Tidak semua aplikasi memerlukan kerangka kerja, tetapi sebagian besar aplikasi konsekuensial.
Keuntungannya adalah:
Kerugiannya adalah:
Secara keseluruhan, lebih baik menggunakannya.