Введение для разработчиков
Последнее обновление Dec 7th, 2019 | История страницы | Улучшить эту страницу | Сообщить о проблеме
Support the team building MODX with a monthly donation.
The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.
Backers
Budget
$301 per month—let's make that $500!
Learn moreЧто такое MODX?¶
MODX Revolution - это платформа приложений контента, созданная для разработчиков, дизайнеров и пользователей, которым нужна мощная масштабируемая система со встроенным гибким управлением контентом.
Что такое MVC?¶
MVC - это «Model-View-Controller», общая парадигма программирования, в которой модель данных доступна только через контроллер, который подключается к представлению, которое можно легко изменить без необходимости изменения модели.
Что такое MVC²?¶
MVC² - это терминология MODX, которая называется «Модель-Вид-Контроллер/Коннектор. По сути, это добавляет новый способ доступа к модели из представления - коннекторы, которые представляют собой файлы на основе AJAX, которые «подключаются» к процессорам для обеспечения удаленного взаимодействия с CRUD.
Отношения коннектор/процессор¶
Коннектор - это просто файлы шлюза, которые подключаются к определенным процессорам. Они используются главным образом для предотвращения прямого доступа к процессорам и ограничения доступа пользователей к этим процессорам.
Что такое xPDO?¶
xPDO наше имя для открытых расширений PDO. Это легковесная библиотека ORB (объектно-реляционный мост), которая работает на PHP 4 и 5 и использует преимущества недавно принятого стандарта для сохранения базы данных в PHP 5.1+, PDO. Он реализует очень простой, но эффективный шаблон Active Record для доступа к данным, а также гибкую модель предметной области, которая позволяет изолировать логику домена от логики, специфичной для базы данных, или нет, в зависимости от ваших потребностей.
Что такое ORM?¶
Как определено Wikipedia:
Объектно-реляционная база данных (ORD) или система управления объектно-реляционной базой данных (ORDBMS) представляет собой систему управления базами данных (СУБД), аналогичную реляционной базе данных, но с объектно-ориентированной моделью базы данных: объекты, классы и наследование являются непосредственно поддерживается в схемах базы данных и на языке запросов. Кроме того, он поддерживает расширение модели данных с помощью пользовательских типов данных и методов.
По сути, таблицы в базах данных SQL становятся классами, которые могут содержать методы, специфичные для таблиц, наследоваться от базовых классов и многое другое.
Краткий обзор Revolution¶
Revolution по своей сути - структура управления контентом. Это не PHP Application Framework, как CodeIgnitor или Symfony, и он не претендует на то, чтобы быть таковым. Тем не менее, это гораздо больше, чем обычные CMS, такие как Wordpress или другие: это позволяет создавать приложения для управления контентом с легкостью и расширяемостью.
Revolution основывает свою внутреннюю структуру на том, что мы называем системой проектирования MVC². Это свободно основано на MVC, или model-view-controller архитектурный паттерн, в программировании.
Модель¶
M обозначает Model, который является основными классами, которые управляют записями данных. Эти базовые классы с префиксом 'mod' в Revolution обрабатывают всю логику домена для MODX Revolution.
Это также включает в себя то, что Revolution называет «процессорами», то есть сценариями, которые обрабатывают доменную логику для MODX Revolution. Они никогда не доступны напрямую и используются для обработки форм, запросов REST, запросов AJAX и многого другого. Они напоминают основные задачи обработки CRUD (Create-Read-Update-Delete).
Вид¶
Представления в MODX Revolution называются «шаблонами», но используются по-разному в зависимости от контекста, о котором мы говорим.
В интерфейсе это шаблоны, чанки и ресурсы¶
Шаблоны¶
Шаблоны - это то, как они звучат. Они позволяют вам создавать шаблоны, которые будут инкапсулировать больше специфичных для страницы данных. Думайте о них как о верхних и нижних колонтитулах, объединенных в одно целое (и многое другое!)
Чанки¶
Куски - это небольшие кусочки HTML-кода, которые можно вставить куда угодно. В некотором смысле они представляют виджеты View из-за их модульности и простоты вставки.
Ресурсы¶
Ресурсы - это базовое представление одной «веб-страницы» в MODX Revolution. Они представляют одну страницу или ресурс, с помощью которого клиент получает доступ к контенту с сервера. Это могут быть файлы, веб-ссылки, символические ссылки или просто старые HTML-страницы, обернутые в Шаблоны.
В диспетчере¶
На стороне менеджера MODX Revolution представление также обрабатывается шаблонами, хотя они основаны на файлах и расположены в менеджере/шаблонах и в настоящее время загружаются через Smarty.
Контроллер¶
Контроллеры в MODX Revolution бывают двух видов. В клиентской части это обработчики запросов (через класс modRequest), а также сниппеты и плагины.
Сниппеты¶
Сниппеты - это просто код PHP, который можно разместить в любом месте страницы. Они могут быть размещены в Чанках, Шаблоны, или Ресурсы. Они просто исполняют код PHP при каждом вызове и возвращают любой вывод, который они хотели бы отправить на страницу.
Плагины¶
Плагины также являются PHP-кодом, но нацелены на определенные системные события, которые происходят во время обработки запроса. Они могут возникать до того, как веб-страница будет обработана, после нее, до обработки запроса или во многих других местах.
Они позволяют пользователям писать общий код, который влияет на основные функциональные возможности страницы, такие как цензура слов, автоматическое создание ссылок, обработка отдельного кэша, перенаправление контекста и многое другое.
Второй C: Коннекторы¶
Коннекторы - новая идея для MODX Revolution, они являются точками доступа для процессоров. Система менеджеров в MODX Revolution широко использует их - они обеспечивают безопасные места для запросов AJAX для обработки данных об определенных объектах.
Например, запрос соединителя, который загружает /modx/connectors/resource/index.php
с параметром get
действия GET get
и параметром GET id
, будет (при условии, что клиент запроса имеет доступ) захватить Ресурс с указанным идентификатором и возврат его в формате JSON (или в любом другом формате; по умолчанию в Revolution это JSON).
Каждый запрос Коннектора также защищен разрешениями контекста, загруженными на каждый запрос. Если пользователь не имеет доступа (через Политику доступа, назначенную контексту запроса), соединитель откажется предоставить данные.
Соединители позволяют выполнять динамические и безопасные запросы JSON (и, в конечном итоге, запросы на основе REST) прямо из менеджера MODX.
Смотрите также¶
- Начало работы Разработка
- xPDO, слой базы данных для Revolution
- Объяснение структуры каталогов
- Словарь терминов
Support the team building MODX with a monthly donation.
The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.
Backers
Budget
$301 per month—let's make that $500!
Learn more