Adakah anda tahu masalah apa yang perlu diberi perhatian oleh PHP7?

藏色散人
Lepaskan: 2023-02-18 08:32:02
ke hadapan
1385 orang telah melayarinya

1. Jangan gunakan fungsi kelas mysql_

Akhir sekali, anda tidak perlu lagi melihat gesaan yang mencadangkan untuk tidak menggunakan fungsi mysql_. Memandangkan PHP 7 mengalih keluarnya sepenuhnya daripada teras, ini bermakna beralih ke mysqli_ fungsi kelas yang lebih baik, atau lapisan PDO yang lebih fleksibel.

2 Jangan tulis kod yang tidak berguna

Ini mungkin kelihatan seperti cadangan yang tidak perlu, tetapi kerana kelajuan PHP7 menutup beberapa masalah, ia menjadi semakin penting. Jangan leka hanya kerana bertukar kepada PHP7 menjadikan tapak anda lebih pantas.

Untuk memahami kepentingan kelajuan dan cara melakukannya dengan lebih baik, lihat artikel kami Panduan Permulaan untuk Pengoptimuman Pecutan.

Sebagai pembangun, anda harus memastikan bahawa skrip dimuatkan atas permintaan, digabungkan semula apabila boleh, tulis pertanyaan pangkalan data yang cekap, gunakan caching jika boleh, dsb.

3. Jangan gunakan tag penutup PHP pada penghujung fail

Jika anda melihat secara santai, anda akan mendapati bahawa kebanyakan fail kod teras WordPress meninggalkan tag penutup PHP pada penghujungnya. Malah, Rangka Kerja Zend secara khusus melumpuhkan tag penutup. Ia tidak diperlukan oleh PHP, meninggalkannya pada penghujung fail memastikan tiada ruang putih tambahan pada penghujungnya.

4 Jangan lulus parameter dengan memetik melainkan benar-benar perlu

Saya secara peribadi tidak suka melepasi parameter dengan memetik. Sudah tentu saya tahu ia boleh berguna dalam beberapa situasi, tetapi kebanyakan masa ia menjadikan kod sukar difahami, sukar untuk diikuti dan sukar untuk meramalkan hasilnya.

Orang berpendapat bahawa rujukan menjadikan kod mereka lebih pantas, tetapi seperti yang dinyatakan oleh artikel dari The Respectable PHP Programmer ini, itu tidak berlaku.

Fungsi shuffle() atau sort() PHP terbina dalam ialah contoh buruk parameter yang melalui rujukan. Ia mengubah suai tatasusunan asal dan bukannya mengembalikan tatasusunan yang dikocok atau diisih, yang benar-benar bertentangan dengan kehendak kami.

5 Jangan gunakan pertanyaan dalam gelung

Perkara yang paling teruk ialah menggunakan pertanyaan pangkalan data dalam gelung. Ia akan memberi tekanan yang tidak perlu pada sistem, dan kemungkinan besar, anda boleh mendapatkan hasil yang sama dengan lebih cepat dengan menggunakan pertanyaan di luar gelung. Apabila saya menghadapi situasi di mana saya perlu menggunakannya dengan cara ini, saya biasanya menyelesaikannya dengan membahagikannya kepada dua pertanyaan untuk membina tatasusunan. Kemudian gelung ke atas tatasusunan tanpa menggelung pertanyaan.

Disebabkan cara WordPress beroperasi, mungkin terdapat beberapa pengecualian untuk perkara ini. get_post_meta() akan mendapat metadata daripada pangkalan data, yang boleh anda gunakan dalam satu gelung jika anda melingkari metadata untuk artikel tertentu. Ini kerana WordPress sebenarnya mengambil semua metadata dan menyimpannya semasa anda mula-mula menggunakannya. Panggilan berikutnya sebenarnya memanggil data cache dan bukannya memanggil pangkalan data.

Cara terbaik untuk menyelesaikan masalah ini ialah membaca dokumentasi fungsi dan menggunakan sesuatu seperti pendengar pertanyaan.

6 Jangan gunakan * dalam pertanyaan SQL

Nah, ini lebih kepada soalan MySQL, tetapi kami cenderung untuk menulis pernyataan SQL dalam kod, jadi saya katakan ini adalah permainan yang Adil. Walau apa pun, jika anda boleh mengelak daripada menggunakan kad bebas, jangan gunakannya, terutamanya jika pangkalan data anda mempunyai banyak medan.

Tentukan secara eksplisit medan yang anda perlukan dan dapatkan hanya medan tersebut. Ini membantu menjimatkan memori, melindungi data dan menjadikan perkara lebih jelas.

Dari segi SQL, pelajari seberapa banyak yang anda boleh tentang fungsi yang tersedia untuk anda dan uji kelajuan. Apabila mengira purata, jumlah dan mengira nombor yang serupa, gunakan fungsi terbina dalam SQL dan bukannya fungsi PHP. Jika anda tidak pasti seberapa pantas pertanyaan, uji dan bandingkannya dengan pendekatan lain untuk memilih yang terbaik.

7. Jangan percaya input pengguna

Adalah tidak bijak untuk mempercayai input pengguna. Untuk input pengguna, sentiasa ada keperluan untuk menapis, membersihkan, melarikan diri, mengesahkan dan menggunakan sandaran. Terdapat tiga masalah dengan input pengguna: adalah mustahil bagi kami pembangun untuk mempertimbangkan semua kemungkinan, kesilapan yang kerap dan input yang sengaja berniat jahat.

Sistem yang difikirkan dengan baik boleh menghalang semua masalah ini. Apabila menggunakan pangkalan data, pastikan anda menggunakan fungsi terbina dalam seperti filter_var() untuk menyemak kesahihan, melarikan diri dan melakukan apa sahaja yang anda boleh.

WordPress mempunyai banyak fungsi untuk membantu anda. Sila lihat artikel ini untuk mengetahui lebih lanjut tentang Mengesahkan, melarikan diri dan membersihkan data pengguna.

8 Jangan bijak

Matlamat anda adalah untuk menulis kod elegan yang menyatakan keinginan anda dengan jelas. Anda boleh menjimatkan 0.01 saat masa pemuatan pada setiap halaman dengan memendekkan nama pembolehubah, menggunakan operasi logik ternary berbilang peringkat dan helah lain, tetapi ia tidak berbaloi dengan kerugian berbanding akibat yang menyebabkan anda dan pasukan anda sakit kepala dan kesukaran untuk mengekalkan.

Namakan pembolehubah dengan betul dan tulis dokumentasi kod dengan cara yang ringkas dan jelas. Adalah lebih baik untuk menggunakan gaya pengekodan berorientasikan objek standard dan lebih kurang mendokumenkannya, daripada menggunakan banyak komen kod sebaris.

9. Jangan cipta semula roda

PHP telah wujud sejak sekian lama, dan pembangunan tapak web telah wujud lebih lama lagi. Apa sahaja yang anda telah lakukan, orang lain telah melakukannya sebelum ini. Jangan takut untuk bergantung pada orang lain untuk sokongan Github, Komposer dan Packagist adalah semua mentor anda.

Dari pengelogan kepada pemproses warna, daripada penganalisis kepada rangka kerja ujian unit, daripada API Mailchimp ke Twitter Bootstrap, segala-galanya tersedia dengan menekan butang (atau menaip arahan), gunakannya!

10 Jangan terlepas pandang bahasa lain

Jika anda seorang PHP, kini menjadi amalan standard untuk mengetahui sekurang-kurangnya HTML, CSS, Javascript dan MySQL. Apabila anda boleh mengendalikan bahasa ini dengan baik, sudah tiba masanya untuk mempelajari Javascript semula. Javascript bukan jQuery. Anda harus belajar Javascript untuk menggunakan jQuery dengan berkesan.

Saya juga mengesyorkan mempelajari semua yang berorientasikan objek dalam PHP. Ia adalah penyelamat dan akan menambah baik kod anda mengikut urutan magnitud. Ia juga boleh membuka pintu kepada bahasa seperti C# dan Java, yang boleh memudahkan untuk memahami pengaturcaraan berorientasikan objek (OOP) sebaik sahaja anda mempunyai pengalaman dengannya.

Perluaskan pengetahuan anda dengan mempelajari pengurusan pakej, membina skrip, Coffeescript, LESS, SASS, YAML, enjin templat dan alatan berguna yang lain. Saya juga dengan sepenuh hati mengesyorkan melihat rangka kerja lain, terutamanya Laravel.

Apabila anda cukup mahir dalam hal ini, pertimbangkan Ruby, Ruby on Rails dan pembangunan apl untuk Android, iPhone dan Windows Phone? Anda mungkin fikir ini adalah sia-sia kerana ia berada di luar zon selesa dan keperluan pekerjaan anda, tetapi ia betul-betul intinya. Setiap bahasa mempunyai beberapa pengetahuan pedagogi yang berguna dan beberapa tambahan yang tidak berbahaya. Semua pembangun PHP teratas tahu bahasa pengaturcaraan lain, ini bukan kebetulan!

Pembelajaran yang disyorkan: "Tutorial PHP7"

Atas ialah kandungan terperinci Adakah anda tahu masalah apa yang perlu diberi perhatian oleh PHP7?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:segmentfault.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!