Я новичок в парадигме ООП (и AJAX / jQuery), но хотел бы создать базовый сайт, использующий архитектуру MVC, на PHP, с функциональностью AJAX. Я составил краткую диаграмму о том, как я сейчас понимаю архитектуру.
Предположительно, когда используется AJAX, который действует как контроллер для непосредственного взаимодействия с моделью, чтобы получить любую функциональность? Имена файлов, которые я добавил, просто для того, чтобы дать вам представление о том, что я 'думаю' должен быть включен. например, index.php будет html / css-шаблоном, включающим модули в соответствующих местах (независимо от того, что они могут быть) – news.php, navigation.php и т. д. database.php / pager.php могут содержать классы и расширенные классы который я создаю для разбивки на страницы, или подключения / запросов к базе данных, я изо всех сил пытаюсь понять, что может быть компонентом контроллера, – это, несомненно, станет «вторым внутренним представлением» – вызовом классов из модели, которая будет отправлена на вид?
Я, наверное, хорошо рассказывал о моем замешательстве – что должно быть в представлении, контроллере и модели … является ли функциональность AJAX технически другим контроллером? Любая диаграмма, аналогичная приведенной выше, была бы чрезвычайно полезна.
Хорошо, поэтому AJAX – это транспортный метод, а не часть приложения, например модель или контроллер.
Ваш клиент будет связываться через AJAX с одним или несколькими контроллерами.
Эти контроллеры используют или ссылаются на Модели для обработки различных задач.
Затем либо контроллер, либо модель реагируют на запрос либо сообщением в транспортном формате (JSON, YAML, XML), либо с представлением (кусок HTML).
Контроллер обрабатывает запросы, что означает, что он получает начальный клиентский ввод. В зависимости от ситуации этот вход должен быть отформатирован, нормализован, изменен или преобразован каким-то образом перед использованием в вашем приложении.
Затем контроллер использует или вызывает модель; это означает, что он либо имеет дело с самой бизнес-логикой (старый стиль), и использует модель для доступа к источникам данных, либо полностью передает основной рабочий процесс вашего приложения модели (новый стиль).
Модель в первом экземпляре абстрагирует постоянный объект хранения (например, базу данных). В современном дизайне приложений он также выполняет основную бизнес-логику вашего приложения.
Есть один способ увидеть это.
Из этого вы сможете прийти к своим собственным выводам.
Вы можете использовать лучшую MVC-архитектуру PHP под названием « YII ». Получите дополнительную информацию отсюда http://www.yiiframework.com/