Мой скрипт, который запускается из командной строки, выполняет множество вызовов DB и API внутри цикла, но для проверки я должен изменить условия и поместить die()
и запускать сценарий снова и снова.Точки останова с PHP
Есть ли способ продвинуть итерацию только при нажатии Return
, завершить выполнение скрипта при нажатии Esc
, иначе просто подождите, пока не произойдет одно из перечисленных событий ввода?
$arr = range(0, 10000);
foreach ($arr as $n) {
// if ENTER
echo $n;
// elseif ESC
die()
// else
// wait for ENTER or ESC
}
Вы можете поместить error_log() в цикл или попробовать исключения catch и log, чтобы увидеть, что происходит. Если это то, чего вы пытаетесь добиться, приостановив код, если произойдет событие. Другим способом может быть использование среды IDE, такой как XDebug, где вы могли бы разместить точку останова в своем коде и пройти через нее по строкам. – mrjamesmyers
@mrjamesmyers Нет, не ошибки, просто исполнение. Поэтому каждую итерацию мне нужно проверить, все ли в порядке, нажмите ENTER, перейдите к следующему ... и так далее. – 3zzy
Вы можете добиться этого с помощью XDebug, который может быть настроен для работы с NetBeans, Notepad ++ и многими другими IDE/редакторами (или PHPStorm или Zend Studio, но им придется заплатить за них). Другие мудрые могли бы сделать цикл foreach в JavaScript, а затем прослушать Enter Key и индекс инкремента, а затем использовать Ajax для публикации на PHP – mrjamesmyers