Twig: опция auto_reload в производстве рекомендуется?
Когда auto_reload
Параметр true, это означает, что при изменении файла шаблона Twig перекомпилирует файл и затем отобразит содержимое.
Вопрос: для параметра auto_reload установлено значение true в рабочей среде?
По моему мнению, это должно быть установлено в true в производственной среде, потому что, если я использую GIT и один из моих файлов шаблона ветки имеет новые изменения, а затем я обновляю свои производственные коды, используя 'git pull', мне больше не нужно очищать кеш, Twig автоматически обнаруживает, что этот файл шаблона был изменен, и его необходимо перекомпилировать. Поэтому, когда файл шаблона обрабатывается, он будет отображаться с последними изменениями.
Кто-нибудь согласится со мной? Если нет, то что бы вы порекомендовали?
2 ответа
Я не согласен с вами:) auto_reload
должен быть установлен в false
в производстве. Более того, я не рекомендую делать git pull
сделать живое обновление производственного кода.
Я рекомендую вам установить механизм развертывания, более безопасный для вашего кода. Это может быть так же просто, как консоль сценария или на основе таких инструментов, как Capistrano или Deployer.
Я знаю, что это старый вопрос, но если кто-то наткнется на него, возможно, будет полезен более развернутый ответ.
Технически ничто не мешает вам использовать
Когда вы также добавляете проверку и, следовательно, перекомпиляцию файлов кеша (которые на самом деле являются кодом PHP), вы получите дальнейшее снижение производительности. Опять же, это незначительно само по себе, но может быстро сложиться. Итак, Хавьер правильно говорит, что вы должны использовать
А может просто "не совсем правильно". GIT полностью подходит для развертывания, но только если вы помните, что на самом деле это не инструмент развертывания, а скорее система контроля версий (VCS). В упрощенном случае у вас будут, по крайней мере, другие файлы конфигурации, например, с подробностями для подключения к базе данных. Ну, у вас должны быть разные из соображений безопасности. И эти файлы конфигурации не должны отправляться в VCS, поэтому они будут исключены из вашего развертывания, если вы полагаетесь только на GIT.
Это очень простой случай, но вы можете использовать гораздо более сложные, например, вещи, требующие компиляции (TypeScript, SASS/LESS, минимизация JS/CSS, вероятно, были бы самыми простыми из них) или просто обновления базы данных, которые вы просто не можете обслуживать через GIT. И если у вас есть что-то подобное, вам нужно подумать о чем-то другом, кроме GIT.
Да, и вы также можете просто GIT файлы кеша, полученные в результате вашей разработки, но для этого вам потребуется сначала создать соответствующие страницы в тестовой среде, чтобы они обновлялись.