Ответы на тест "Разработчик Bitrix Framework. Технологии" для сертификации.
Какой инструмент рекомендуется использовать в том случае, когда необходимо организовать запуск каких либо PHP функций в абсолютно точно заданное время?
утилита cron
агенты «1С-Битрикс: Управление сайтом»
Для обеспечения внешней авторизации в продукте «1С-Битрикс» необходимо установить обработчик события
OnUserLoginExternal
OnAfterUserLogin
OnBeforeUserLoginByHash
Повлиять на ход выполнения какой-нибудь API функции лучше всего с помощью
Функционала обработчиков событий
Модификацией кода модуля
Кода в файле result_modifier
Кода в файле component epilog
Модификацией кода компонента
Функция для регистрации обработчиков событий, расположенных в модулях
RegisterModuleDependences
CEvent::Register
ExecuteModuleEvents
CEvent::Add
AddEventHandler
Управляемое кеширование отличается от неуправляемого тем, что
Неуправляемое кеширование не перестраивается автоматически после модификации исходных данных
Неуправляемый кеш удаляется только вручную
В неуправляемом кешировании применяется специальный алгоритм, который учитывает тот факт, что большая часть посетителей - это незарегистрированные пользователи
В неуправляемом кешировании нельзя задать время кеширования
Если информация отдается из кэша до тех пор, пока она не поменяется в базе данных и кэш сбросится автоматически, то это
Авто + Управляемое кэширование
Авто кэширование.
Если функция-агент не принадлежит ни одному из модулей, то ее необходимо разместить
в файле /bitrix/php_interface/init.php
в файле /bitrix/php_interface/dbconn.php
в файле /bitrix/modules/ID модуля/include.php
Управляемый кеш рекомендуется выключать
для компонентов, обновление данных которых происходит постоянно в течение дня
для сайтов с высокой посещаемостью
для любых сайтов
для сайтов, обновление которых происходит постоянно в течение дня
для сайтов, где информация обновляется не часто, и ходят в основном анонимные пользователи
Чтобы агент выполнился в заданное время необходимо
зарегистрировать его в системе
не включать опцию «периодический»
добавить запись для агента в системный планировщик cron
при создании агента обязательно указать модуль
HTML кеширование рекомендуется включать
для сайтов, где информация обновляется не часто, и ходят в основном анонимные пользователи
для сайтов, где конечный размер HTML в среднем не менее 100Кб
для сайтов с высокой посещаемостью
для сайтов, обновление которых происходит постоянно в течение дня
для любых сайтов
Для реализации внешней авторизации необходимо создать обработчик соответствующего события в файле
/bitrix/php_interface/init.php
/bitrix/php_interface/scripts/phpbb.php
/bitrix/php_interface/init.php
/bitrix/admin/php_interface/init.php
/bitrix/php_interface/scripts/init.php
Кеширование – инструмент повышения
производительности проекта
масштабируемости проекта
отказоустойчивости проекта
Если вам необходимо вывести панель в обязательном порядке, то необходимо задать в теле страницы
$APPLICATION->ShowPanel = true;
$APPLICATION->ShowTitle();
$APPLICATION->AddPanelButton(array());
Функции-обработчики событий RegisterModuleDependences и AddEventHandler отличаются
RegisterModuleDependences производит регистрацию в базе данных, а AddEventHandler в файле init.php.
RegisterModuleDependences работает с обработчиками модуля, а AddEventHandler - с обработчиками вне модулей
RegisterModuleDependences производит регистрацию в /bitrix/php_interface/, а AddEventHandler в базе данных
RegisterModuleDependences и AddEventHandler не влияют на производительность базы данных, т.к работают с модулями системы и не нагружают базу данных запросами
Отложенные функции
не рекомендуется использовать в файлах шаблона компонента, результаты которых кешируются
результаты работы этих функций выводятся в прологе
выполняются в самом конце страницы, в служебной части эпилога
над результатами работы функций, обеспечивающих откладывание других функций, можно выполнять какие-либо действия
Технология отложенных функций
позволяет задавать заголовок страницы, пункты навигационной цепочки, CSS стили, дополнительные кнопки в панель управления, мета-теги и так далее.
используется в компонентах
выводит результаты своей работы в прологе, то есть выше по коду, чем они были заданы.
фрагментирует контент страницы, обеспечивая временное откладывание выполнения других функций.
позволяет определить код функции после её вызова
позволяет выполнять функции на следующих хитах после их вызова