Rumah > Artikel > pembangunan bahagian belakang > Kebaikan dan keburukan menggunakan rangka kerja PHP: Adakah ia sesuai untuk anda?
Daripada menghalakan permintaan HTTP kepada mengakses pangkalan data dan memaparkan antara muka pengguna, kebanyakan aplikasi web mempunyai banyak persamaan antara satu sama lain. Ramai daripada mereka membenarkan pelawat log masuk, dan sukar untuk membayangkan aplikasi web tanpa penghantaran e-mel.
Rangka kerja perisian adalah satu cara untuk melaksanakan pemerhatian ini.
Dengan mengekstrak ciri umum dan seni bina asas aplikasi dan menggabungkannya ke dalam koleksi templat dan perpustakaan yang boleh diguna semula, rangka kerja membolehkan pembangun menumpukan pada perkara yang menjadikan projek mereka menonjol.
Malah, apabila anda menggunakan projek sebelumnya sebagai templat dan bukannya bermula dari awal, anda sudah menggunakan rangka kerja sementara. Rangka kerja PHP yang popular seperti Laravel, Yii, atau Symfony mengambil pendekatan ini kepada kesimpulan logiknya dengan memfokuskan pada mereka bentuk seni bina dan alatan rangka kerja dan kemudian menjadikannya tersedia kepada pembangun lain untuk digunakan dalam projek mereka.
Tetapi adakah menggunakan rangka kerja sentiasa pendekatan terbaik? Atau adakah kadangkala masuk akal untuk hanya menggunakan PHP tulen dan bermula dari awal?
Untuk menjawab soalan ini, dalam tutorial ini, kita akan melihat lima kelebihan dan kekurangan menggunakan rangka kerja PHP.
Mari kita lihat dahulu cara menggunakan rangka kerja PHP boleh membantu anda dalam pembangunan aplikasi.
Dalam dunia permulaan hari ini, yang berdasarkan percubaan, prototaip pantas dan mendapatkan produk minimum yang berdaya maju ke dunia secepat mungkin, kelajuan pembangunan boleh membuat atau menghancurkan perniagaan anda.
Menggunakan rangka kerja PHP ialah satu cara untuk memenuhi keperluan ini.
Rangka kerja PHP yang direka dengan baik memilih pelaksanaan terbaik masalah biasa daripada komuniti sumber terbuka dan membinanya untuk menyediakan anda dengan seni bina aplikasi (berdasarkan corak Model-View-Controller dalam kebanyakan kes) untuk membimbing pembangunan anda.
Dengan cara ini, anda tidak perlu menghabiskan masa merancang seni bina aplikasi anda dan menilai pelbagai perpustakaan yang tersedia, tetapi mulakan dengan templat berfungsi sepenuhnya dan terus membina fungsi khusus untuk aplikasi anda. Banyak rangka kerja PHP juga disertakan dengan alat baris arahan yang boleh anda gunakan untuk menjana kod dan menjimatkan masa pembangunan yang lebih berharga.
Sambil mempercepatkan pembangunan, rangka kerja juga menjadikan anda lebih selamat: anda bekerja dengan cepat, tetapi bukan dengan menggunakan penyelesaian cepat dan kotor, tetapi dengan menggunakan amalan terbaik yang terbukti dan komponen Sedia untuk dilaksanakan.
Penyelesaian yang disertakan dalam rangka kerja PHP moden diuji secara berterusan, disemak bersama dan disahkan oleh berbilang pembangun menggunakan rangka kerja tersebut. Oleh kerana rangka kerja adalah sumber terbuka, isu keselamatan dan isu lain yang mungkin anda terlepas pandang dalam kod proprietari akan disedari dan diperbaiki dengan cepat.
Namun begitu, penting untuk diingat bahawa menggunakan rangka kerja tidak bermakna anda boleh melupakan semua tentang keselamatan dan amalan pembangunan yang baik. Pastikan anda menggunakan rangka kerja seperti yang dimaksudkan, memastikannya dikemas kini dan melakukan bahagian anda dalam perkara seperti pengesahan parameter - ia tidak begitu sukar dengan alatan rangka kerja.
Dengan menyediakan struktur yang kukuh pada aplikasi anda dan mendorong anda untuk mengguna pakai amalan dan corak terbaik pembangunan perisian, rangka kerja PHP akan membimbing anda dalam menulis kod yang digandingkan secara longgar dan mempunyai pertindihan sesedikit mungkin. Dengan kata lain, ia mudah dibaca, diuji, dikekalkan dan dikembangkan lagi.
Hampir semua rangka kerja PHP yang popular hari ini adalah berorientasikan objek dan dibangunkan dengan ujian automatik dan juga pembangunan dipacu ujian dalam fikiran.
Anda masih perlu melakukan bahagian anda. Tetapi daripada bermula dari awal, ia sememangnya membantu untuk mempunyai rangka kerja dan dokumentasinya untuk mengingatkan anda tentang konsep ini dan mendorong anda untuk menggunakannya.
Satu lagi cara untuk menggunakan rangka kerja untuk memudahkan penyelenggaraan aplikasi adalah melalui komponen yang dikongsi. Oleh kerana perpustakaan dan pembantu rangka kerja dibangunkan secara bebas daripada aplikasi anda, anda boleh memunggah sebahagian besar penyelenggaraan aplikasi anda kepada pembangun rangka kerja.
Dalam satu cara, ia seperti mempunyai pasukan pembangun yang bekerja untuk anda secara percuma!
Sebagai pembangun, anda sudah biasa dengan kelas dan fungsi anda dan boleh menggunakannya dengan mudah. Tetapi apabila anda membawa masuk ahli pasukan, keadaan berubah.
Tanpa pengetahuan tentang keputusan reka bentuk anda dan dokumentasi lengkap (mari kita hadapi: terutamanya dalam dunia yang pesat membangun, dokumentasi selalunya difikirkan semula), mereka akan mendapati sukar untuk memahami kod aplikasi anda.
Menggunakan rangka kerja PHP akan membantu pembangun baharu mula mengerjakan projek dengan lebih mudah. Mereka berkemungkinan besar sudah biasa dengan rangka kerja dan boleh menumpukan semua perhatian mereka untuk memahami butiran aplikasi. Walaupun rangka kerja itu baru kepada mereka, dokumentasi, tutorial dalam talian dan corak reka bentuk yang biasa akan membantu mereka mencapai kelajuan dengan usaha yang minimum.
Sementara itu, anda boleh terus membangunkan apl anda dan bukannya mengajar pembangun cara anda berfikir.
Akhir sekali, manfaat ketara menggunakan rangka kerja PHP datang daripada pembangun aktif dan komuniti pengguna yang berkumpul di sekeliling mereka. p>
Semua rangka kerja utama menarik penyumbang sumber terbuka yang, di samping mengusahakan rangka kerja itu sendiri, membangunkan widget, perpustakaan dan komponen pembantu lain untuk dimasukkan oleh orang lain dalam aplikasi mereka. Penyumbang lain menulis tutorial dan buku atau membuat video yang menerangkan butiran cara mereka menggunakan rangka kerja dalam projek dunia sebenar.
Menjadi sebahagian daripada komuniti pembangun sedemikian, anda akan berkembang sebagai pembangun, belajar dengan cepat dan menggunakan perkara yang anda pelajari pada pembangunan aplikasi.
Jika anda mahu, anda boleh memberi kembali dan mengambil bahagian dalam projek sumber terbuka dalam apa jua cara yang dirasakan semula jadi dan memuaskan hati anda.
Sekarang kita telah melihat cara menggunakan rangka kerja PHP boleh membantu anda dalam pembangunan, mari kita lihat kelemahannya dan mengapa kadangkala tidak menggunakan rangka kerja PHP mungkin merupakan pilihan yang lebih baik.
Berbanding dengan menjalankan skrip PHP yang ringkas, rangka kerja PHP sentiasa menambah kerumitan dan overhed dalam bentuk kelas dan perpustakaan yang dimuatkan sebelum memanggil kod. Untuk skrip pantas dan API dengan set ciri terhad yang perlu dijalankan dengan cepat, perbezaan ini boleh menjadi ketara.
Walau bagaimanapun, dalam kebanyakan aplikasi web, kesan kecekapan rangka kerja lebih bergantung pada cara anda menggunakannya berbanding rangka kerja itu sendiri. Sebagai contoh, walaupun pelaksanaan Rekod Aktif adalah cara yang mudah untuk mengakses pangkalan data, tidak ada gunanya menggunakannya di mana berbilang baris dalam pangkalan data mesti diproses secara serentak.
Jadi, ia bergantung kepada memahami keperluan aplikasi tetapi tidak membenarkan diri anda bergantung pada cara tertentu untuk menggunakannya. Kadangkala, walaupun semasa menggunakan rangka kerja, masuk akal untuk mengetepikan dan menulis beberapa kod pada tahap abstraksi yang lebih rendah.
Idea rangka kerja PHP adalah untuk menjadi penyelesaian universal kepada keperluan berulang yang kebanyakan pembangun akan hadapi semasa membangunkan aplikasi web. Tetapi di manakah kita membuat garis antara apa yang disertakan dalam rangka kerja dan apa yang tinggal kepada aplikasi (atau alat tambah pihak ketiga) untuk dilaksanakan?
Menurut beberapa pembangun, di sinilah banyak rangka kerja yang salah.
Rasmus Lerdorf, pencipta PHP, pernah berkata:
“Tiada sesiapa yang mempunyai masalah sejagat Setiap orang mempunyai masalah yang sangat spesifik yang ingin mereka selesaikan, sementara mereka boleh menyelesaikan masalah ini, biasanya melakukannya dengan cara yang memberikan anda banyak perkara lain yang anda tidak perlukan. . Perbaiki akhirnya setiap permintaan akan diselesaikan."
Jadi jika anda memutuskan untuk menggunakan rangka kerja, sentiasa pastikan anda memilih satu yang sesuai dengan keperluan aplikasi anda.
Walaupun kebanyakan rangka kerja berdasarkan pemuatan malas dan tidak akan menyertakan bahagian rangka kerja yang tidak digunakan oleh aplikasi, kerumitan tambahan masih ada, mengakibatkan pengubahsuaian yang tidak perlu apabila mengalih keluar fungsi yang disertakan dengan rangka kerja, tetapi anda tidak melakukannya perlukan.
Walaupun rangka kerja PHP akan mendorong anda untuk menulis kod yang hebat, ia tidak menjamin bahawa ia akan berlaku. Jika anda menggunakan rangka kerja tanpa memahaminya dan corak reka bentuk di belakangnya, anda mungkin akan mengalami kekacauan besar dan tersusun.
Bagi orang yang sudah biasa dengan prinsip reka bentuk ini daripada rangka kerja atau projek lain, keluk pembelajaran akan menjadi agak pendek. Bagi pembangun yang kurang berpengalaman, keluk pembelajaran akan menjadi lebih panjang. Apatah lagi menguasai rangka kerja.
Jadi jika anda tergesa-gesa dan projek anda kecil, mungkin belum tiba masanya untuk mula mempelajari rangka kerja baharu. Sebaliknya, pertimbangkan untuk menggunakan rangka kerja mikro atau bermula dari awal dan menggunakan beberapa perpustakaan yang anda biasa gunakan.
Kemudian, luangkan masa untuk mempelajari rangka kerja PHP yang lengkap apabila jadual anda membenarkan.
Menggunakan rangka kerja perisian boleh membawa pembangunan aplikasi anda ke tahap abstraksi yang lebih tinggi. Ini adalah dengan reka bentuk dan biasanya perkara yang baik. Walau bagaimanapun, adalah baik untuk menyedari bahawa ia juga boleh menyebabkan masalah.
Walaupun banyak bahagian templat rangka kerja memerlukan penyesuaian, teras rangka kerja dan perpustakaannya adalah seperti kotak hitam yang boleh anda gunakan tetapi tidak mempunyai banyak kawalan. Anda boleh mencadangkan penambahbaikan, tetapi akhirnya pembangun rangka kerja yang memutuskan sama ada untuk memasukkan perubahan itu.
Selain itu, jika anda mula menggunakan rangka kerja sebelum memahami sepenuhnya bahasa PHP itu sendiri, anda mungkin mengelirukan ciri rangka kerja dengan ciri bahasa, dan akhirnya menggunakan ciri rangka kerja itu walaupun PHP tulen adalah pilihan yang lebih baik.
Rangka kerja sentiasa bergantung pada luaran aplikasi anda - kod dikawal oleh orang lain di luar anda dan pasukan anda. Walaupun ini biasanya bukan masalah, ia patut dipertimbangkan jika perisian yang anda bina adalah bahagian teras perniagaan anda.
Tanya diri anda apa yang anda akan lakukan jika pembangunan rangka kerja itu ditinggalkan atau pergi ke arah yang anda tidak mahu ikut.
Cara yang baik untuk mengurangkan risiko ini ialah menggunakan rangka kerja yang boleh dipercayai dan popular dengan komuniti pembangun dan pengguna yang aktif. Namun begitu, perlu difikirkan tentang perkara ini: Adakah faedah menggunakan rangka kerja cukup berbaloi dengan risikonya?
Rangka kerja PHP moden ialah alat yang berkuasa dalam kotak alat pembangun perisian: ia boleh menjimatkan banyak masa dan usaha anda serta memberikan anda ketenangan fikiran semasa membangunkan aplikasi PHP. Ingat, ini tidak sepatutnya menggantikan PHP teras pembelajaran terlebih dahulu!
Walau bagaimanapun, kunci kepada kesimpulan di atas ialah memilih alat yang sesuai untuk pekerjaan itu. Setiap projek adalah berbeza, malah rangka kerja yang berfungsi dengan baik untuk satu projek mungkin tidak sesuai untuk projek seterusnya. Matlamat untuk kesederhanaan dan tanya diri anda sama ada rangka kerja penuh sesuai untuk projek itu, atau jika menggunakan rangka kerja mikro seperti Lumen adalah penyelesaian yang lebih baik.
Bermula dari awal menggunakan PHP biasa jarang menjadi pilihan terbaik, tetapi ia juga patut dipertimbangkan apabila membangunkan aplikasi yang sangat mudah (seperti tapak web tanpa banyak interaktiviti) - dan ingat, anda sentiasa boleh menggunakan Composer Select perpustakaan pilihan anda untuk memanjangkannya.
Apabila memilih rangka kerja, pastikan rangka kerja yang anda pilih dibangunkan dan disokong secara aktif serta mengikut amalan kejuruteraan perisian yang baik. Dengan cara ini, anda memastikan bahawa rangka kerja asas tidak mati secara senyap, kalis masa hadapan permohonan anda.
Akhir sekali, walaupun anda memutuskan untuk tidak menggunakannya, adalah idea yang baik untuk membiasakan diri dengan satu atau lebih rangka kerja PHP moden. Mempelajarinya ialah cara yang baik untuk mempelajari dan meningkatkan kemahiran pembangunan perisian anda dan membantu anda terus mendahului dunia pembangunan PHP yang sentiasa berkembang.
Atas ialah kandungan terperinci Kebaikan dan keburukan menggunakan rangka kerja PHP: Adakah ia sesuai untuk anda?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!