Я довольно плохо знаком со сменной авторской разработкой и был нелегко отлаживать.
Я использовал много эха, и это неаккуратно и ужасно.
Я уверен, что существует лучший способ сделать это, возможно, IDE с отладчиком, что я могу выполнить весь сайт во включении плагина?
Войдите в wp-config.php и изменение define('WP_DEBUG', false);
кому: define('WP_DEBUG', true);
. Кроме того, установите Журнал Andrew Nacin плагин Уведомлений Устаревший.
Я использую phpED и xdebug, но для меня (и кажется для кого-то еще), невозможно отладить плагины или файл темы! Отладчик только останавливается на точках останова, которые находятся в основных или исходных "базовых" файлах! кто-либо может помочь мне?
Я использую плагин за 13$ под названием LogPress, который можно купить на ThemeForest, и это - абсолютная удача. Можно отладить все касающееся их плагинов и сайта. Вход консоли Firebug поддержек и многое другое. Я не могу жить без него, именно так очень я использую этот плагин.
Этот плагин является, вероятно, лучшими деньгами, которые я когда-либо тратил, и это сохранило бесчисленные часы в моей разработке плагинов Wordpress.
Другой действительно хорошей вещью является "krumo" php класс. Это реализовано в ½ минуты и предлагает простой способ отладить весь вид переменных:
Плюс он помогает с обратным прослеживанием, загруженными классами шоу или включенными файлами и всем по требованию.
Плюс он СВОБОДЕН!
Существует два IDE, которые я могу рекомендовать, и я использовал обоих экстенсивно: PhpED (только Windows) и PhpStorm+XDEBUG (Mac, Windows и Linux.) я нахожусь на Mac теперь, так может только использовать последнего.
Они оба КАЧАЮТСЯ! Хорошие новости, что PhpStorm составляет 49$ до сентября 2010 и только 99$ после этого. Если бы я был в Windows и должен был выбрать снова, не уверенный, который я выбрал бы.
Откровенно я не могу не чувствовать, что любой сменный разработчик, не использующий один из этих двух инструментов, с серьезными физическими недостатками, особенно если они относительно плохо знакомы с разработкой плагинов WordPress.
Я использую IDE Aptane на Linux и UltraEdit в Windows, и у этого также есть PHP-синтаксический-анализатор. Кроме того, я просматриваю все подсказки от xDebug с константой WP_DEBUG
определенный в wp-config.php
.
См. также мое сообщение по этой теме и не стесняйтесь комментировать и давать обратную связь о Ваших средствах разработки.
Я записал, что немного класса для делает файл журнала, очень полезно, когда Вы отлаживаете вызовы ajax.
http://github.com/hunk/Magic-Fields/blob/master/tools/debug.php
Вы только должны сделать что-то как:
Отладка:: журнал ("Это - сообщение отладки");
Когда та строка будет выполнена, сообщение будет добавлено в файле журнала, и после этого можно использовать команду хвоста (при использовании оперативной системы стиля некоторого Unix),
хвост-f mylogfile.log
Если можно передать этой функции массив или объект также.
обратите внимание, что Вы должны изменить строку 20 для пути, где Вы хотите, сохраняют Ваш файл журнала
Я отлаживаю старомодный путь, error_log()
луг и var_dump
луг. Я нахожу, что это - самый эффективный путь ко мне, у меня есть несколько функций обертки для обработки различных типов данных, как error_log
массивы луга и объекты могут быть болью. Кроме того, использование print_r()
в может быть хитрым для чтения, когда это не находится в a <pre>
. Я имею tj_log()
для регистрации ошибок, и tj()
для проявления вывода (который в основном показывает любой тип данных презентабельным способом:
function tj( $code ) {
?>
<style>
.tj_debug { word-wrap: break-word; white-space: pre; text-align: left; position: relative; background-color: rgba(0, 0, 0, 0.8); font-size: 11px; color: #a1a1a1; margin: 10px; padding: 10px; margin: 0 auto; width: 80%; overflow: auto; -moz-box-shadow:0 10px 40px rgba(0, 0, 0, 0.75); -webkit-box-shadow:0 10px 40px rgba(0, 0, 0, 0.75); -moz-border-radius: 5px; -webkit-border-radius: 5px; text-shadow: none; }
</style>
<br /><pre class="tj_debug">
<?php
if ( is_null( $code ) || is_string($code) || is_int( $code ) || is_bool($code) || is_float( $code ) ) :
var_dump( $code );
else :
print_r( $code );
endif;
echo '</pre><br />';
}
function tj_log( $code ) {
if ( is_null( $code ) || is_string($code) || is_int( $code ) || is_bool($code) || is_float( $code ) ) :
$code = var_export( $code, true );
else :
$code = print_r( $code, true );
endif;
error_log( $code );
}
Таким образом я просто делаю: tj( $current_user );
или что бы то ни было.
После переделывания многого IDE я приспособился к простому Блокноту ++ с ультраспециализированной цветовой схемой Подсветки синтаксиса.
У меня есть макрос, настроенный таким образом, что, когда я поразил Shift-Ctrl-X, следующий код производится, где мой курсор:
echo "<pre>";
var_dump($);
echo "</pre>";
exit();
Это просто, но я могу обычно выслеживать 90% своих ошибок с этим макросом плюс включенный WP_DEBUG.
Если Вы печатали ошибки, то x-отладка является блестящим расширением PHP, которое добавляет современные следы к PHP.
При попытке разработать то, что продолжается, где нет никаких ошибок, мой любимый подход должен определить функцию, которая регистрирует ее вывод в файл. Таким образом, я делаю plog ($variable), и это появляется в файле журнала, который я могу затем исследовать. Это особенно полезно, когда Вы пытаетесь разработать то, что произошло, прежде чем заголовок () называют, или другие ситуации, где Вы не можете распечатать к STDOUT.