Головна » Загальне » InstantCMS2 - структура другої гілки

InstantCMS2 - структура другої гілки

3 лютого 2020 - Адміністратор

InstantCMS другої гілки є модульною системою, побудованою з використанням MVC-архітектури. Модульні блоки, з яких збирається функціонал сайту, в InstantCMS називаються Компонентами.

У свою чергу, кожен компонент складається з трьох основних частин: контролера, моделі та шаблонів. Компонент може містити як всі ці частини одночасно, так і будь-яке їх поєднання окремо.

Контролери

Контролер — основна частина компонента, в якій знаходиться вся логіка. Завдання контролера — отримати запит від користувача, обробити його і повернути результат (наприклад, HTML-сторінку або JSON).

Кожен компонент може мати 2 контролера — frontend і backend, які працюють в призначеній для користувача та адміністративної частини сайту відповідно.

Моделі

Модель — частина компонента, що містить логіку по вилученню, зміни та збереження даних. Модель отримує запити з контролера і повертає йому результати з бази даних, або навпаки, зберігає зміни в базі.

Шаблони

Шаблони служать для форматування даних перед виведенням їх користувачеві. Шаблон містить в собі HTML-розмітку і мінімум програмного коду — тільки в тому обсязі, який необхідний для форматування виводу. Дані в шаблон передаються контролером.

Схема роботи

Кожен запит користувача (відкриття сторінки в браузері) запускає наступний робочий процес:

  • запускається файл index.php;
  • роутер визначає який компонент був запитаний і запускає його контролер;
  • контролер отримує параметри запиту з URL, або з форми заповненої користувачем;
  • контролер отримує (чи зберігає) дані через модель;
  • контролер обробляє дані необхідним чином;
  • контролер викликає шаблон і передає в нього отримані (або оброблені) дані;
  • шаблон формує кінцеву HTML-сторінку, яка повертається користувачеві.

Таким чином, основна логіка (велика частина коду) знаходиться в контролері.

Схожі статті:

Про системуInstantCMS - структура першої гілки

Рейтинг: 0 Голосів: 0 175 переглядів
Коментарі (0)

Немає коментарів. Ваш буде першим!