Механизм Red label

SKY / WINGS / FIRST / CONF /
RED1
Иногда запросы к внешним ресурсам мешают на development. Механизм "красных меток" это простой способ отключить часть кода во время разработки. Red label не влияет на production инсталляции, там как будто его нет совсем и вам не нужно заботиться, что у вас на production включены красные метки.

Если красные метки включены в админ разделе, то на development инсталляции, вместо части кода, в браузере будут отображаться красные метки. Это обычный HTML тэг <div> стилизированный соответствующим образом, внутри которого имя красной метки.

Создание

На странице считанной из БД:
Представим, что у вас на странице Youtube ролик (ссылка на внешний ресурс), и вы хотите, чтобы он не тормозил открытие страницы. Можно сделать следующее: iframe код ролика поместить в файл view/r_youtube.php, а на это место в тексте страницы поставить метку %HTML_R_YOUTUBE%, и последнее - текст страницы нужно пропустить через функцию label(..). Теперь на продакшн будет отображаться ролик, а на DEV - красная метка. Но в админ. разделе в конфигурации, все же можно отключить красные метки, так что на DEV ролик тоже отобразится.

Отключение счетчиков в шаблоне:
Счетчики кликов, обращающиеся к внешним ресурсам, можно поместить в файл view/r_counters.php, а в шаблоне сделать @inc(r_counters) (или require). Включения будут условными на DEV.

PHP vs red label:
Примеры, рассмотренные выше, включают файлы, которые вероятнее не используют PHP обработку, так как используются непосредственно шаблоны. Но можно для "red label" назначить и "action", обработку с PHP. Действия (action) в контроллерах с префиксом `r_`, в SKY Framework, идентифицирует функционал красных меток. Метод контроллера с префиксом r_ будет вызван для такой метки %PHP_R_YOUTUBE%. Функция label(), найдя в тексте такую метку, вызовет view('r_youtube'). Также, можно, например, в некотором шаблоне, написать @view(r_youtube). Этот view будет содержать механизм красных меток, так как имя содержит префикс `r_`.
опубликовано ENERGY - 22 Jun 2018 13:35 GMT
последнее редактирование - 10 Jul 2018 16:17 GMT
 +  0  -  комментировать