Полный ответ:
У вас может быть как интерфейс MVC, так и серверная часть MVC. Вы также можете иметь переднюю часть MVC и заднюю часть без рамки, И наоборот. Вам не всегда нужна структура, но обычно это хорошая идея. Хитрость заключается в том, чтобы найти фреймворк, который вы ищете.
Если вы хотите иметь классное приложение ALL JS (без PHP), вы можете использовать что-то вроде Deployd в качестве внутреннего API/mongodb и интегрировать angular в стиле MVC. Если вы хотите MVC'итизировать внутреннюю структуру этого типа JS-приложения, вы можете сделать что-то вроде этого https://hackhands.com/mongodb-crud-mvc-way-with-passport-authentication/ (посмотрите на часть Express.js app/views
).
Я бы порекомендовал Express.js в качестве серверной среды и реализовал бы стиль MVC с помощью такой инструкции: http://briantford.com/blog/angular-express. Затем все сценарии связываются с папками MVC для внешнего интерфейса, который использует этот сервер express.js. Ваши представления в папку views
, контроллер (маршруты) в папку controller
и все ваши скрипты, составляющие CRUD или серверный API, которые взаимодействуют с вашим mongodb для извлечения данных из папки model
. Это очень легко масштабируется. Если вам нужен Angular в этой настройке, вам следует следовать руководствам о том, как внедрить angular в express .
Если вы хотите использовать серверную часть PHP либо с шаблонным интерфейсом php, либо с угловым интерфейсом MVC, вы можете использовать что-то вроде фреймворка Symfony2, который является ВСЕМОГУЩИМ, сверхмощным, хорошо документированным и простым. Затем, когда вы создаете свои шаблоны (представления) с помощью Twig (движок шаблонов symfonys по умолчанию), вы можете либо кодировать свой html там, и вызывать свои php-переменные на этой странице, либо вы можете изменить его, как я упоминал, используя angular, затем просто позвоните и назовите это именно так, на ваш взгляд
{% verbatim %}
{ { variabileAngularjs } }
{% endverbatim %}
И, если то, что вы изначально просили, используя отдельные PHP-файлы на бэкэнде, похоже на то, что вы называете «процедурным» кодированием, вы можете сделать это и объектно-ориентированным, но не уверен, что так, как вы думали, если вы переходите на объектно-ориентированный, тогда очень просто поместить модели в папку модели, а контроллер в папку контроллера, а затем вызвать его mvc, но если вы поместите всю свою функциональность в тот же метод PHP, например, проверку сообщения, перейдите в БД , синтаксический анализ данных из db и последующая отправка этого ответа внутри http-ответа вперед в представление звучит как неправильное использование технологий веб-разработки, потому что это вызывает серьезные проблемы с зависимостями, потому что вы не очень хорошо наблюдали бы «развязку», если бы вы это сделали это. Чтобы отделить его, вы удаляете метод, который выполняет вызов БД, и возвращаете его, затем у вас есть другой метод, который также может быть в другом файле, в папке контроллера, который вызывает этот метод и возвращает через http, например ответ http, ваше представление может вызвать это действие контроллера, спровоцировав ответ. Именно так MVC хочет это сделать.
я знаю, что это старый вопрос, но он дал мне нужный ответ, но я чувствовал себя обязанным написать об этом хорошую статью, так как на нем не было много информации, чтобы помочь поддержать этот вопрос.
person
blamb
schedule
20.10.2015