2017-01-27 32 views
1

Я новичок в создании API, я сделал первый, используя структуру MVC: codeigniter, с реализацией отдыха chris kacerguis.Rest API и администратор в том же приложении

Я не уверен, что это было лучше всего думать, потому что я считаю, что, возможно, рамки не настолько «тонкие» или легкие только для целей API.

Я планирую сделать мобильное приложение, администратор и веб-сайт, чтобы три могли использовать сервисы Api.

Неплохо ли иметь API, веб-сайт и администратор в том же проекте? которые являются плюсами и минусами? или лучший архитектурный подход?

В противном случае у меня будет: Один Codeigniter проект для API и другого проекта CodeIgniter для веб-сайта и администратор

благодаря

+0

Вы используете ORM что-то вроде Доктрины? – mboullouz

ответ

0

Вы можете создавать папки в папку «Контроллеры», чтобы организовать свой проект и использовать один и тот же проект/env:

controllers/Home.php 
controllers/api/MyApi.php 
controllers/admin/Admin.php 

Редактировать: вы поделитесь моделями и библиотеками тоже.

0

В моем проекте я реализовал два типа контроллера - REST и API. Admin js gui работает с REST, другой мир работает с API. Вы можете сделать это просто с помощью silex framework, маленького брата symfony.

0

Цель создания REST API так, что вам нужно только построить один проект для вашей бизнес-модели. Это позволяет вам создавать любое количество приложений на любой платформе, только требуя, чтобы вы использовали API по-разному. Это существенно отделяет/отделяет пользовательский интерфейс от бизнес-логики и наоборот.

Вы должны создать отдельные проекты для REST API, и каждый проект пользовательского интерфейса также должен быть отделен проектами. Это позволяет вам изменять базовый код, язык и платформу в любом из проектов, не нарушая ни одного из других проектов, пока подписи API остаются прежними.

Например, у вас может быть живая версия вашего сайта, созданная с использованием Codeignitor при разработке другого септического проекта с использованием AngularJS. Когда ваш проект AngularJS будет завершен, вы просто замените проект на своем сервере (или создадите совершенно новый веб-сайт или сервер), все еще позволяя вам использовать другое, если потребуется. Кроме того, вы можете решить, хотите ли вы переместить API на другую платформу, язык или базу данных, разработать ее и поменять местами после завершения, не внося никаких изменений в какие-либо из ваших проектов пользовательского интерфейса, при условии, что вы не изменили подписи API.

+0

Я также хотел прокомментировать, что, если ваше приложение-администратор существенно не отличается от вашего веб-сайта/приложения вашего клиента, вы должны назначить Пользователям роль и отображать/запрашивать данные из API на основе роли пользователей. – Matt