Илья, спасибо за пулл-реквест! Полезная штука :)
Илья, спасибо за пулл-реквест! Полезная штука :)
Вот только думаю надо немного механизм изменить. Вот получается, что есть $_SESSION['Console']['completed'] === false, то скрипт опять выполняется в цикле. А вот рассмотрим такой пользовательский сценарий:
- Запускаем циклический скрипт, устанавливающий
$_SESSION['Console']['completed'] = false; - Этот скрипт при выполнении разваливается или еще по какой причине не доходит до того, чтобы установить
$_SESSION['Console']['completed'] = true. - Запускаем новый скрипт на выполнение, не циклический. Он все равно начнет отрабатываться бесконечно, потому как
$_SESSION['Console']['completed'] === false, иtrueон не устанавливает.
Правильней не $_SESSION['Console']['completed'] === false проверять, а $this->getProperty('progress') == true. То есть в процессе выполнения ты смотришь, если надо повторно выполнить скрипт, то устанавливаешь $this->setProperty('progress', true); И действовать это будет только на текущий шаг. И так в каждом последующем шаге.