Petua Pantas: Cara Mengurus Pelaporan Ralat di PHP
PHP pada dasarnya adalah bahasa pengaturcaraan "pengecualian ringan". Ini bermakna bahawa, walaupun ia menyokong pengendalian pengecualian, skrip terus dilaksanakan kecuali kesalahan maut berlaku, tidak kira apa yang berlaku.
Contoh:
<?php echo $sitepoint;Kod di atas akan mengembalikan mesej berikut:
<code>Notice: Undefined variable: sitepoint in PHP shell code on line 1</code>PHP hanya akan membuang ralat pemberitahuan dan terus melaksanakan dengan gembira. Bahasa "Pengecualian Heavyweight" (seperti Python) membuang kesilapan dan menghentikan pelaksanaan.
Oleh itu, pemaju PHP mesti mengambil perhatian tambahan semasa menulis kod. Keputusan yang tidak dijangka mungkin berlaku semasa pelaksanaan program kerana pemberitahuan tidak akan berhenti melaksanakan, tetapi mungkin mempengaruhi tingkah laku program yang betul.
Sebelum memperkenalkan cara menyesuaikan gaya pelaporan ralat PHP, mari kita mula -mula memahami beberapa tahap keparahan ralat PHP.
PHP mempunyai tiga jenis mesej utama: ralat, pemberitahuan, dan amaran. Mereka mewakili tahap keparahan yang berbeza: e_error, e_notice, dan e_warning.
Kesalahan adalah kesilapan runtime maut, biasanya disebabkan oleh kegagalan dalam kod. Ini akan menyebabkan PHP menghentikan pelaksanaan.
- Pemberitahuan disebabkan oleh kod yang mungkin atau tidak boleh menyebabkan masalah (mis., Pembolehubah yang tidak ditentukan). Ini tidak menyebabkan pelaksanaan berhenti.
- Amaran adalah ralat maut, pelaksanaan skrip tidak akan berhenti.
- ralat pembalakan dalam php
Dalam fail ini, kita juga boleh memberitahu PHP sama ada kita mahu log pemberitahuan dan amaran, dan di mana log ini harus dilog masuk.
juga boleh mencetuskan pembalakan dalam kod. Untuk melakukan ini, kita boleh menggunakan fungsi error_log (). Oleh kerana pembalakan ralat bukanlah tumpuan artikel ini, sila lihat di sini untuk maklumat lanjut.
Tukar laporan ralat php
kita boleh menggunakan fungsi error_reporting () untuk mengubah tingkah laku pelaporan ralat php lalai. Menggunakan fungsi ini, kita boleh menetapkan tahap ralat tempoh skrip. Ini dilakukan dengan meluluskan satu atau lebih pemalar kesilapan yang telah ditetapkan untuk fungsi tersebut.
Contohnya, jika kita mahu melihat bukan sahaja kesilapan tetapi juga pemberitahuan, kita boleh menggunakan:
Dengan perisytiharan ini, pelaksanaan skrip tidak hanya akan berhenti apabila ralat berlaku, tetapi juga apabila pemberitahuan berlaku.
menindas ralat
<?php error_reporting(E_ERROR | E_NOTICE);
kita juga boleh menggunakan pengendali kawalan ralat (@) untuk memberitahu PHP untuk menindas kesilapan tertentu. Dengan meletakkan pengendali ini pada permulaan ungkapan, sebarang kesilapan yang merupakan hasil langsung dari ungkapan akan diproses secara senyap:
Jika $ SitePoint wujud, ini mengeluarkan nilai $ sitepoint, tetapi jika ia tidak wujud, ia mengembalikan null dan tidak mencetak apa -apa (bukannya membuang pemberitahuan).
Berhati -hati apabila menggunakan pengendali ini, kerana ia akan menyembunyikan kesilapan sepenuhnya. Bukan sahaja ralat tidak akan dipaparkan, tetapi ia tidak akan dihantar ke log ralat. Walaupun ini seolah -olah tidak berbahaya, menggunakan pengendali ini topeng masalah struktur yang lebih dalam dalam kod dan topeng yang berpotensi salah tingkah laku.
Gunakan PHP sebagai bahasa "Pengecualian Berat Heavyweight"
Akhirnya, PHP juga boleh digunakan sebagai bahasa pengaturcaraan "pengecualian berat". Kesalahan PHP biasa boleh dibuang sebagai pengecualian menggunakan kelas ERRORException yang memanjangkan kelas pengecualian PHP.
Dalam contoh berikut, fungsi yang ditentukan oleh pengguna RalatHandler () ditetapkan sebagai pengendali ralat, menggunakan fungsi set_error_handler (). Apabila ralat maut berlaku kerana fungsi file_get_contents () tidak dapat mencari fail, ia melemparkan errorException:
Menggunakan kaedah ini, kita boleh mengendalikan kesilapan pelaksanaan seperti yang kita lakukan dengan pengecualian, membungkusnya dalam percubaan ... menangkap pernyataan, dan memberikan arahan yang sesuai tentang cara melakukannya dalam kes ini.
<?php echo $sitepoint;
Kesimpulan
Semua dalam semua, PHP boleh mengendalikan kesilapan dengan cara yang sangat longgar. Ia bergantung kepada pemaju kami menggunakan alat sedia ada untuk mengendalikannya dengan lebih baik supaya kami dapat memanfaatkan sepenuhnya bahasa. Dengan menggunakan set alat ini, kita boleh mengendalikan kesilapan dengan cara yang terkawal, menjimatkan masa debugging.
soalan yang sering ditanya mengenai menguruskan laporan ralat dalam php
Apakah laporan pepijat dalam PHP?
Pelaporan ralat dalam PHP merujuk kepada proses mengesan dan mengendalikan kesilapan atau pengecualian yang berlaku semasa pelaksanaan kod PHP. Kesilapan mungkin termasuk kesilapan sintaks, kesilapan runtime, dan kesilapan logik.
Bagaimana untuk membolehkan pelaporan ralat dalam php?
anda boleh mengaktifkan pelaporan ralat dalam php dengan menetapkan arahan konfigurasi error_reporting dalam skrip php atau fail konfigurasi php.ini. Anda juga boleh menggunakan fungsi error_reporting untuk mengubah tahap pelaporan secara dinamik dalam kod anda.
Bagaimana menangani kesilapan PHP dengan anggun?
Anda boleh mengendalikan ralat dengan anggun dengan menggunakan cuba ... menangkap blok dan gunakan pernyataan bersyarat untuk memeriksa keadaan ralat sebelum terus melaksanakan kod tersebut.
Apakah fungsi PHP Trigger_error?
Fungsi Trigger_error digunakan untuk menjana mesej ralat peringkat pengguna. Anda boleh menggunakan fungsi ini untuk membuat mesej ralat tersuai dan mencetuskannya dalam kod anda.Bagaimana untuk log ralat PHP untuk debug dan analisis?
anda boleh menggunakan fungsi error_log untuk log ralat PHP ke fail. Di samping itu, anda boleh mengkonfigurasi PHP untuk log ralat ke fail tertentu dengan mengubahsuai arahan error_log dalam konfigurasi php.ini.
Atas ialah kandungan terperinci Petua Pantas: Cara Mengurus Pelaporan Ralat di PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tosetupaphpdevelopmentenvironmentonlinux, InstallPhpandRequiredExtions, SetupawebserverlikePacheornginx, testwithaphpfile, andoptionallyinstallmysqlandcomposer.1.installphpandextensionsviappoPpoGempppppret (E.G.

Untuk menggabungkan dua susunan PHP dan menyimpan nilai unik, terdapat dua kaedah utama. 1. Untuk tatasusunan indeks atau hanya deduplikasi, gunakan Array_Merge dan Array_unique Combinations: First Gabungan Array_Merge ($ array1, $ array2) dan kemudian gunakan array_unique () untuk deduplikasi mereka untuk akhirnya mendapatkan array baru yang mengandungi semua nilai unik; 2. Untuk array bersekutu dan ingin mengekalkan pasangan nilai utama dalam array pertama, gunakan pengendali: $ hasil = $ array1 $ array2, yang akan memastikan bahawa kunci dalam array pertama tidak akan ditimpa oleh array kedua. Kedua -dua kaedah ini boleh digunakan untuk senario yang berbeza, bergantung kepada sama ada nama kunci dikekalkan atau hanya fokus yang dihadapi

Untuk menentukan kekuatan kata laluan, perlu menggabungkan pemprosesan biasa dan logik. Keperluan asas termasuk: 1. Panjang tidak kurang daripada 8 digit; 2. Sekurang -kurangnya mengandungi huruf kecil, huruf besar, dan nombor; 3. Sekatan watak khas boleh ditambah; Dari segi aspek lanjutan, duplikasi berterusan aksara dan urutan tambahan/penurunan perlu dielakkan, yang memerlukan pengesanan fungsi PHP; Pada masa yang sama, senarai hitam harus diperkenalkan untuk menapis kata laluan lemah yang biasa seperti kata laluan dan 123456; Akhirnya, disyorkan untuk menggabungkan perpustakaan ZXCVBN untuk meningkatkan ketepatan penilaian.

Untuk mengendalikan muat naik fail PHP dengan selamat, anda perlu mengesahkan sumber dan jenis, mengawal nama fail dan laluan, menetapkan sekatan pelayan, dan memproses fail media dua kali. 1. Sahkan sumber muat naik untuk mengelakkan CSRF melalui token dan mengesan jenis mime sebenar melalui finfo_file menggunakan kawalan putih; 2. Namakan semula fail ke rentetan rawak dan tentukan pelanjutan untuk menyimpannya dalam direktori bukan web mengikut jenis pengesanan; 3. Konfigurasi PHP mengehadkan saiz muat naik dan direktori sementara Nginx/Apache melarang akses ke direktori muat naik; 4. Perpustakaan GD menyambung semula gambar -gambar untuk membersihkan data yang berpotensi.

Masalah dan penyelesaian biasa untuk skop pembolehubah PHP termasuk: 1. Pembolehubah global tidak dapat diakses dalam fungsi, dan ia perlu diluluskan menggunakan kata kunci atau parameter global; 2. Pembolehubah statik diisytiharkan dengan statik, dan ia hanya dimulakan sekali dan nilai dikekalkan antara pelbagai panggilan; 3. Pembolehubah hyperglobal seperti $ _get dan $ _post boleh digunakan secara langsung dalam mana -mana skop, tetapi anda perlu memberi perhatian kepada penapisan yang selamat; 4. Fungsi Anonymous perlu memperkenalkan pembolehubah skop induk melalui kata kunci penggunaan, dan apabila mengubah suai pembolehubah luaran, anda perlu lulus rujukan. Menguasai peraturan ini boleh membantu mengelakkan kesilapan dan meningkatkan kestabilan kod.

Terdapat tiga kaedah umum untuk kod komen PHP: 1. Use // atau # untuk menyekat satu baris kod, dan disyorkan untuk menggunakan //; 2. Gunakan /.../ untuk membungkus blok kod dengan pelbagai baris, yang tidak boleh bersarang tetapi boleh diseberang; 3. Komen -komen kemahiran gabungan seperti menggunakan / jika () {} / untuk mengawal blok logik, atau untuk meningkatkan kecekapan dengan kunci pintasan editor, anda harus memberi perhatian kepada simbol penutupan dan mengelakkan bersarang apabila menggunakannya.

Kunci untuk menulis komen PHP adalah untuk menjelaskan tujuan dan spesifikasi. Komen harus menjelaskan "mengapa" dan bukannya "apa yang dilakukan", mengelakkan redundansi atau terlalu kesederhanaan. 1. Gunakan format bersatu, seperti docblock (/*/) untuk deskripsi kelas dan kaedah untuk meningkatkan keserasian dan keserasian alat; 2. Menekankan sebab -sebab di sebalik logik, seperti mengapa JS melompat perlu dikeluarkan secara manual; 3. Tambahkan gambaran keseluruhan gambaran sebelum kod kompleks, terangkan proses dalam langkah -langkah, dan membantu memahami idea keseluruhan; 4. Gunakan Todo dan Fixme secara rasional untuk menandakan item dan masalah untuk memudahkan penjejakan dan kerjasama berikutnya. Anotasi yang baik dapat mengurangkan kos komunikasi dan meningkatkan kecekapan penyelenggaraan kod.

Ageneratorinphpisamemory-efficientwaytoiterateOverlargedatasetsbyieldingvaluesonateatimeNsteadofreturningthemallatonce.1.GeneratorSuseTheyEldeyWorderWorderToProducevaluuesondemand,
