Saya cukup baru dalam pembuatan plugin dan mengalami kesulitan debug.
Saya menggunakan banyak gema dan ceroboh dan jelek.
Saya yakin ada cara yang lebih baik untuk melakukan ini, mungkin sebuah IDE dengan debugger yang saya dapat menjalankan seluruh situs termasuk plugin?
plugins
debug
plugin-development
Dengan sopan
sumber
sumber
WP_DEBUG
false, seperti yang disarankan John, maka Anda mendapatkan ide yang cukup bagus tentang apa yang salah, jika ada, dalam skrip Anda. Kemudian Anda dapat mengedit di Dreamweaver, tekan Ctrl + S dan kemudian F5 di browser untuk segera melihat perubahan.Jawaban:
Pergilah ke wp-config.php dan ubah
define('WP_DEBUG', false);
kedefine('WP_DEBUG', true);
. Juga, instal plugin Log Deprecated Notices milik Andrew Nacin .sumber
Jika Anda mendapatkan kesalahan dalam mencetak, maka x-debug adalah ekstensi PHP yang brilian yang menambahkan backtraces modern ke PHP.
Jika Anda mencoba mencari tahu apa yang terjadi di mana tidak ada kesalahan, pendekatan favorit saya adalah mendefinisikan fungsi yang mencatat outputnya ke file. Jadi saya melakukan plog ($ variabel) dan itu muncul di file log yang kemudian bisa saya periksa. Ini sangat berguna ketika Anda mencoba mencari tahu apa yang terjadi sebelum header () dipanggil, atau situasi lain di mana Anda tidak dapat mencetak ke STDOUT.
sumber
Gunakan xdebug + NetBeans IDE. Ketika sepenuhnya dikonfigurasi - yang mudah dilakukan - Anda dapat mengatur titik istirahat di plugin Anda dan menonton variabel di titik istirahat. Saya pikir ini adalah cara terbaik untuk men-debug plugin atau aplikasi php dalam hal ini.
sumber
Saya men-debug cara kuno,
error_log()
ing danvar_dump
ing. Saya menemukan itu adalah cara yang paling efisien bagi saya, saya memiliki beberapa fungsi pembungkus untuk menangani berbagai jenis data, karenaerror_log
array dan objek dapat menyusahkan. Juga, menggunakanprint_r()
dalam bisa sulit untuk dibaca ketika tidak dalam<pre>
. Saya memilikitj_log()
untuk logging kesalahan, dantj()
untuk menampilkan output (yang pada dasarnya menunjukkan semua tipe data di mannor rapi:Jadi saya hanya melakukan:
tj( $current_user );
atau apa pun.sumber
Setelah mengutak-atik sejumlah IDE, saya memilih Notepad ++ biasa dengan skema warna Syntax Highlighting yang sangat disesuaikan.
Saya memiliki pengaturan makro sehingga ketika saya menekan Shift-Ctrl-X, kode berikut mendapatkan output di mana kursor saya:
Ini sederhana, tetapi saya biasanya dapat memburu 90% bug saya dengan makro ini ditambah WP_DEBUG diaktifkan.
sumber
print_r($var, true)
daripadavar_dump
.Saya menulis sedikit kelas untuk membuat file log, sangat berguna ketika Anda men-debug panggilan ajax.
http://github.com/hunk/Magic-Fields/blob/master/tools/debug.php
Anda hanya perlu melakukan sesuatu seperti:
Debug :: log ("Ini adalah pesan debug");
Ketika baris itu dieksekusi, sebuah pesan akan ditambahkan dalam file log dan setelah itu Anda dapat menggunakan perintah tail (jika Anda menggunakan sistem operasi gaya unix)
tail -f mylogfile.log
Jika Anda bisa meneruskan ke fungsi ini, array atau objek juga.
perhatikan Anda perlu mengubah baris 20 untuk jalur tempat Anda ingin menyimpan file log Anda
sumber
Saya menggunakan Aptane IDE di Linux dan UltraEdit di Windows, dan yang ini juga memiliki parser PHP. Juga, saya melihat semua petunjuk dari xDebug dengan konstanta yang
WP_DEBUG
didefinisikan dalamwp-config.php
.Lihat juga posting saya tentang topik ini dan jangan ragu untuk berkomentar dan memberikan umpan balik tentang alat pengembangan Anda.
sumber
Saya sarankan memeriksa FirePHP . Anda dapat mengirim info debug ke Firebug Firefox melalui tajuk HTTP, yang biasanya menghasilkan keluaran debug yang lebih bersih.
sumber
Tidak terlalu buruk: Eclipse. Ini dekat dengan PhpStorm + gratis.
sumber
Ada dua IDE yang bisa saya rekomendasikan dan saya telah menggunakan keduanya secara ekstensif: PhpED (hanya Windows) dan PhpStorm + XDEBUG (Mac, Windows dan Linux.) Saya di Mac sekarang jadi hanya dapat menggunakan yang terakhir.
Keduanya ROCK! Kabar baiknya bahwa PhpStorm adalah $ 49 sebelum September 2010 dan hanya $ 99 setelah itu. Jika saya menggunakan Windows dan harus memilih lagi, tidak yakin mana yang akan saya pilih.
Terus terang saya merasa bahwa pengembang plugin yang tidak menggunakan salah satu dari dua alat ini cacat parah, terutama jika mereka relatif baru dalam mengembangkan plugin WordPress.
sumber
Krumo - kelas debug debug gaya
Hal lain yang sangat menyenangkan adalah kelas php "krumo". Ini diterapkan dalam ½ menit dan menawarkan cara mudah untuk men-debug semua jenis variabel:
Plus itu membantu dengan backtracing, menampilkan kelas yang dimuat atau file yang disertakan dan segala sesuatu sesuai permintaan.
Plus GRATIS!
Unduh
Krumo @sourceforge
sumber
Saya menggunakan plugin $ 13 yang disebut LogPress yang dapat Anda beli di ThemeForest dan ini adalah pengiriman yang mutlak dari Tuhan. Anda dapat men-debug semua yang berkaitan dengan plugin dan situs mereka. Mendukung logging konsol Firebug dan banyak lagi. Saya tidak bisa hidup tanpanya, saya menggunakan plugin ini.
Plugin ini mungkin adalah uang terbaik yang pernah saya habiskan dan telah menghemat banyak waktu dalam pengembangan plugin Wordpress saya.
sumber
Saya menggunakan phpED dan xdebug tetapi bagi saya (dan tampaknya untuk orang lain) tidak mungkin untuk men-debug plugin atau file tema! Debugger hanya berhenti pada breakpoint yang ada di file "inti" utama atau asli! Adakah yang bisa membantu saya?
sumber
Pertama saya menambahkan
define('WP_DEBUG', false);
ke file wp-config.php (seperti yang dikatakan kebanyakan orang) pada instalasi lokal saya yang merupakan salinan terbaru dari situs produksi yang relevan (baik file maupun data). Ini membuat hal-hal cepat, aman, terpisah tetapi mencerminkan dengan baik setidaknya satu tempat plugin akan benar-benar digunakan.Saya juga menambahkan plugin Debug Bar bersama dengan beberapa dari beberapa add-ons Bar Debug (Transien misalnya) - yang sesuai dengan plugin Anda.
Saya juga menggunakan Firebug add-on untuk Firefox yang sangat baik untuk membantu melacak html, css dan masalah JavaScript juga untuk melihat keanehan tata letak.
Saya menggunakan UltraEdit yang telah saya gunakan selama 15+ tahun untuk sejumlah besar kode (php hingga SQL) baik di kantor maupun di rumah dan jadi ini berfungsi dengan baik untuk saya, tetapi mungkin tidak cukup untuk menilai sebagai IDE untuk banyak orang. Ini memiliki penyorotan sintaks, penyelesaian otomatis dan fitur tata letak kode dan sekelompok alat pintas html dan css yang dapat membantu menghindari kesalahan ketik dan sama. Sebagian besar ini membawa keakraban bagi saya yang merupakan aspek penting yang sering diabaikan dalam terburu-buru ke yang baru. Memori otot membantu pengulangan bahkan dalam pengkodean.
Dan tentu saja saya biasanya memiliki beberapa halaman yang sesuai dari codex terbuka di tab lain pada contoh yang cocok.
Ini semua membantu dalam berbagai cara untuk menyoroti kesalahan pengkodean, penguraian, fungsional, dan tata letak serta tidak banyak mengganggu cara kode saya atau jika tidak ada yang salah. Sebagian besar dapat diabaikan atau dinonaktifkan sebentar jika Anda bereksperimen atau mengerjakan sesuatu yang akan Anda kunjungi lagi nanti.
Oh, dan tidak ada yang salah dengan gema atau print_r yang diposisikan dengan baik untuk memeriksa sesuatu pada kunci (selama Anda menghapusnya ketika Anda selesai).
sumber
Lihat Query Monitor yang dikombinasikan dengan Query Monitor Extend untuk debugging komprehensif WordPress (kesalahan / pemberitahuan PHP / distrik / peringatan, permintaan basis data, jalur, konstanta, permintaan HTTP, transien, variabel sesi, var dumps).
Juga periksa Semua Post Meta dan Menyimpan plugin Apa untuk info spesifik pada posting.
sumber
PHPStorm dan Xdebug adalah gim yang mengubah saya untuk pengembangan WordPress. Sangat merekomendasikan sekarang. Khususnya dengan alat debug inline mereka.
sumber