Сценарий
Я отлаживаю скрипт установки, который, конечно, запускается только тогда, когда база данных и код имеют разные номера версий.Для облегчения отладки я просто временно записываю код обновления в простой для посещения файл и запускаю его там, чтобы можно было устранить любые проблемы.
Пример кода:
function addressListPage()
{
// Set up globals.
$registry = getRegistry();
setPageTitle('Address List');
// @DEBUG: Remove.
$registry->libraryLoad('install');
upgrade_8_16_to_8_17();
// @DEBUG: Remove.
// Initialize template.
$template = new PageTemplate();
// Define Regions
$template->addRegion('header', $registry->widgetExecute('site_header_logo') . $registry->widgetExecute('site_header_links'));
$template->addRegion('content_bottom', $registry->widgetExecute('address_list'));
$template->addRegion('footer', $registry->widgetExecute('site_footer'));
return $template;
}
Проблема.
Хотя я обычно проверяю все проверки, чтобы иногда отлавливать отладочный код, в систему попадает оператор отладки.Для отладочной печати и т. Д. У меня есть переключатели внутри функции для обнуления вызова отладки.Однако такие ситуации, как этот скрипт установки, гораздо более опасны.Я еще не зарегистрировал один, но хотел бы что-то похожее на флаг @todo, который был бы более "в вашем лице", когда он присутствует.Возможно, переключатель, который предотвращает его повторную регистрацию в git control version.Или говорит «ты уверен», когда пытаешься закрыть файл.Или даже появляется в списке где-то, кроме "@todo", который я использую для более долгосрочных задач.