@maxonlinux

Как взаимодействовать с headless CMS?

Всем привет. Недавно начал изучать веб-дев, имею базу html, css и js, кое-что вспомнилось из моих давних начинаний. Конечно же пробовал всякие ворлдпрессы и всякие разные cms, которые мне не заходят. Заинтересовался концепцией headless CMS, поставил Strapi и теперь не могу понять, как мне связать ее с фронтом? Создаю в админке контент, а что с ним дальше делать? Где он хранится, как вывести его на PHP сайт? Читал мануал на оф сайте, но ничего не понял. Какие-то rest api, фреймворки (слышал, что есть всякие Laravel, vue и другие, но пока понятия не имею, зачем они нужны и как обойтись без них). Подскажите, как происходит взаимодействие фронта с этими "безголовыми" админками?
  • Вопрос задан
  • 290 просмотров
Пригласить эксперта
Ответы на вопрос 2
AlexNest
@AlexNest
Работаю с Python/Django
поставил Strapi и теперь не могу понять, как мне связать ее с фронтом?

Где он хранится, как вывести его на PHP сайт?

Момент номер 1: А с каких пор PHP стал фронтом? Тот факт, что вы вставили в [filename].php кусок html-разметки, не делает язык фронтэндом.
Момент номер 2: Допустим, вы все-таки понимаете разницу между серверной частью сайта и клиентской и действительно хотите передавать данные сперва в PHP. В таком случае возникает вопрос - а нафига? Вся логика (ну или как минимум - основная), связанная с обработкой данных уже реализована в Strapi, с "той стороны" нужно "тупо" отправлять и принимать данные (очень упрощенно, но в текущий момент это не важно). И в 2022-м году для этого достаточно JS, крутящегося в браузере.
(Нет, безусловно, существуют сложные сервисы, передающие данные между разными "независимыми" серверами (см. микросервисы), но что-то мне подсказывает, что это не ваш случай)
Какие-то rest api, фреймворки

Ну так почитайте про эти "какие-то". Как минимум, rest api - вещь максимально конкретная.
Если говорить максимально просто то выглядит это так:
  1. Клиентская часть (js в браузере/полноценное приложение на пк/смартфоне, либо другой сервер, как уже писал выше) посылает get/post/...-запрос по определенному адресу.
  2. Серверная часть принимает этот запрос, выделяет данные пришедшие в теле запроса (которые есть не всегда)
  3. Серверная часть делает какую-то магию (выборку данных из бд, в т.ч. и на основе полученных от клиента данных, или как-то обрабатывает их).
  4. Серверная часть отправляет готовые данные в одном из форматов (зачастую json, но иногда могут быть и другие, по типу xml).
  5. Клиентская часть получает их и отображает их (с применением какой-то логики или без)


Это если рассматривать максимально примитивный вариант. На деле в этом процессе задействовано больше слоев по типу авторизации.
Ответ написан
no_one_safe
@no_one_safe
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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