我是构建API的新手,我使用MVC框架创建了第一个:codeigniter,使用了chris kacerguis rest implementation。
我不确定这是最好的想法,因为我相信这个框架可能不是那么“简单”或只是为了API的目的。
我打算做一个移动应用程序,一个管理员和一个网站,这样三个人就可以使用Api的服务。
在同一个项目中使用API,网站和管理员是不是一个坏主意?哪些是利弊?还是最好的建筑方法?
否则我将拥有:一个用于API的Codeigniter项目和另一个用于网站和管理员的Codeigniter项目
感谢
答案 0 :(得分:0)
您可以在“controllers”文件夹中创建文件夹来组织项目并使用相同的项目/ env配置:
controllers/Home.php
controllers/api/MyApi.php
controllers/admin/Admin.php
编辑:您也将共享模型和库。
答案 1 :(得分:0)
在我的项目中,我实现了两种类型的控制器 - REST和API。 Admin js gui使用REST,使用API进行其他世界工作。你可以使用syxfony的小兄弟silex框架来完成它。
答案 2 :(得分:0)
构建REST API的目的是让您只需为您的业务模型构建一个项目。这允许您在任何平台上构建任意数量的应用程序,只需要您以不同的方式使用API。这基本上将用户界面与业务逻辑分离/解耦,反之亦然。
您应该为REST API创建单独的项目,并且每个UI项目也应该是分离的项目。这允许您在任何一个项目中更改底层代码,语言和平台,而不会破坏任何其他项目,只要API签名保持不变即可。
例如,您可以使用Codeignitor构建网站的实时版本,同时使用AngularJS开发另一个septate项目。当您的AngularJS项目完成后,您只需更换服务器上的项目(或创建一个全新的网站或服务器),如果需要,仍允许您使用另一个项目。此外,您可能决定将API移动到不同的平台,语言或数据库,开发它并在完成时交换实现,假设您没有更改API签名,则不会对任何UI项目进行任何更改。