Как сделать на странице динамическую подгрузку, статического контента?

Здравствуйте!

Вот уже практически заканчиваю перенос действующего сайта, со своего "велосипеда", на Symfony 4. И на сайте есть блоки, которые подгружаются Ajax'ом. И если бы эти блоки как то генерировались, или хранились в БД, то однозначно их нужно подгружать обращаясь к какому то контроллеру, который возвращал бы их. Но большая часть из них, 3 из 4, статична и не меняется. Получается, что ради подгрузки этих статичных блоков каждый раз будет запускаться 3-4 процесса с запуском Симфони на сервере.

Понимаю, что вопрос мало имеет отношение к самой Симфони, скорее общий, относящийся к любой CMS или фреймворку. Но я использую Симфони, и она вроде как по ресурсоемкости "тяжелее" остальных собратьев. Да и на виртуальном хостинге существуют лимиты на ресурсы сервера - не хочется их расходовать необдуманно.

Есть ли какие то особенности или приемы работы с Симфони в таких ситуациях? Да и вообще, не только с Симфони, а с любыми другими движками... Поделитесь опытом, пожалуйста!

Спасибо!

UPDATE: Забыл добавить, что не могу сразу вставлять этот статичный контент в страницу, т.к. он повторяется от страницы к странице. И чтобы улучшить поисковую оптимизацию, эти куски приходится вставлять Ajax'ом после загрузки страницы в браузер.
  • Вопрос задан
  • 138 просмотров
Пригласить эксперта
Ответы на вопрос 2
voronkovich
@voronkovich
Если контент статический, вы можете просто вставить его HTML-код в шаблон. В иных случаях лучше использовать HMVC: How to Embed Controllers in a Template

В демо приложении есть два примера, иллюстрирующих вставку блоков с контентом: https://github.com/symfony/demo/blob/bbe5180a8c3b6... и https://github.com/symfony/demo/blob/bbe5180a8c3b6...

В последнем примере также используется ESI для кэширования блока.

Также, если блок статический, то для него можно не создавать отдельный контроллер, а использовать TemplateController: How to Render a Template without a custom Controller
Ответ написан
GTRxShock
@GTRxShock
Full-stack developer (Symfony, Angular)
Но я использую Симфони, и она вроде как по ресурсоемкости "тяжелее" остальных собратьев

спорное заявление, тем более в сторону 4 версии, так как там используется флекс подход с надстройкой над микро ядром

Но большая часть из них, 3 из 4, статична

то что статично разумно отдавать сразу при рендере страницы

Получается, что ради подгрузки этих статичных блоков каждый раз будет запускаться 3-4 процесса с запуском Симфони на сервере

не стоит сгущать краски, так как бутстрап фреймворка это не лимитирующий процесс, если это настолько критично, лучше смотреть в сторону компилируемых языков

причем ajax запросы возвращают данные зачастую в json формате, без оверхеда + можно закешировать на серверном уровне

p.s. если упретесь в железо от прибыльного трафика, это добрый знак, значит денег хватит на новое или рефакторинг :D
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы