Я работаю над веб-сайтом «сообщества», как для удовольствия, так и для прибыли, и, хотя эстетический элемент его идет хорошо, я еще не погрузил свои зубы в разработку логики приложения по причинам несерьезности в моем подход.
Я создаю фреймворк на основе PHP MVC, который, я надеюсь, будет повторно использовать компоненты, однако я заметил, что многие существующие структуры MVC используют своего рода «соглашение по конфигурации», чтобы ускорить весь процесс. Некоторые запросы, которые я планирую запустить, немного сложнее, чем SELECT * FROM entity_name
.
Я хочу создать приложение в слоях, так что вызовы API могут быть сделаны на сервере. Я решил, что вместо того, чтобы делать все дважды, я бы построил контроллеры своего сайта поверх этого слоя, чтобы все соответствовало стандарту. Это позволит использовать вызовы Ajax, вызовы удаленных веб-приложений и т. Д., Чтобы следовать тем же маршрутам нормализации и ответа запроса, что и веб-запросы документа.
В любом случае, возможно, многое из этого лишних деталей, но может ли кто-нибудь пролить свет на многоуровневые архитектуры MVC такого типа? Поскольку уровень API (уровень модели), где данные в конечном счете читаются / записываются, хотел бы включить аутентификацию на этом уровне или аббревиатуру на более высокий уровень и сделать эту точку входа? Какие еще соображения я должен сделать, о которых я не упоминал?
Я знаю, что у меня все еще есть много чтения, поэтому любые предложения по чтению материалов или советы личного опыта с этим очень приветствуются. Заранее спасибо.
Это очень хороший вопрос. Я думаю, что лучше всего будет использовать SOA-подход с ресурсами REST как можно больше. Если ваш сайт получает много хитов, может стоить сегрегация состояния, мутировавшего из раскрытия состояния, поэтому первый может использовать более сложный подход OO другой может использовать простые DTO (в виде массивов) и извлекать данные из базы данных с помощью пользовательских запросов.