#php #model-view-controller #controller
#php #модель-представление-контроллер #контроллер
Вопрос:
в моих рамках это выглядит так:
design
modules
/links
/files
index.php -> view
addNewItem.php -> action
deleteItem.php -> action
в этой парадигме все контроллеры находятся в одном файле, я думаю, что он имеет лучший обзор. Но я видел другие решения, чтобы поместить все действия на один контроллер, а файлы становятся методами. Это нормально, но в конце концов мы могли бы получить большой файл. Какой из методов является предпочтительным, как вы думаете?
Ответ №1:
Используя шаблон MVC, вам нужно разделить ваш текущий код между несколькими контроллерами, тогда каждый контроллер будет иметь несколько действий, поэтому у вас будет несколько контроллеров, а не только один, каждый с несколькими действиями.
Допустим, например, у вас есть область пользователей на вашем сайте. Вы можете создать пользовательский контроллер, который имеет действия регистрации, просмотра профиля и редактирования профиля, и все. Вам также понадобится другой контроллер для аутентификации (действий входа и выхода из системы) и т. Д., Чтобы лучше разбить ваш код на части.
Затем, используя шаблон MVC, вам также нужно будет написать модели для каждой «сущности БД», например, модель пользователей, которая определяет пользователя, и если вы пойдете немного дальше, у вас может быть средство сопоставления таблиц пользователей (или репозиторий), которое реализует все запросы к БД для базового CRUD (и выполняет дополнительные действия) для пользователей .
Для лучшего понимания я предлагаю вам загрузить готовый фреймворк MVC, созданный для php, что-нибудь простое, что лучше объяснит концепцию MVC и преимущества по сравнению с так называемым «классическим» или «простым» php .
Я предлагаю вам попробовать фреймворк CodeIgniter, который, поскольку документация действительно хороша для начинающих в MVC, или, если вы хотите углубиться в тему и лучше познакомиться с MVC eaven, сделайте краткий обзор Zend Framework, который должен показать более глубокое представление о том, что такое архитектура MVC framwork. должен содержать и как его следует использовать.