我们目前有一个网络应用程序和一个移动应用程序,它们都由API提供数据.目前,Web应用程序是在CodeIgniter的安装上完成的,API是在单独的CodeIgniter安装上完成的.对于数据,Web应用程序调用API,然后处理返回的数据.
在这一点上,看起来我们正在为Web应用程序切换到Laravel,我认为这可能是一个很好的机会也可以重做API,因为我们的一些规则已经改变,可能是时候完全脱离CodeIgniter了. .
现在提出这个问题:我已经阅读了一些人们将Web应用程序和API构建到同一个Laravel项目中的资源,并且只使用路由来分别控制API和Web应用程序的映射.虽然这似乎是一个有趣的想法,但它让我怀疑它是否是最佳实践,因为我想知道重量级API流量是否会减慢Web应用程序的速度,反之亦然.
题:
最好的做法是将API保持在自己的项目中解耦还是可以在同一个项目中进行?
跟进问题
要通过API通过API拨打电话,如果它没有解耦,那么这只是对API路由的调用吗?最好通过课程?
解决方法 在我看来,你有两个选择:>只使用Laravel构建API(Response :: Json无处不在),然后使用像Angular或jquery这样的Js框架构建Web应用程序. Web应用程序和移动应用程序都可以向Laravel应用程序发出AJAX请求,Js框架将处理它的显示.这将是“不在同一个地方构建API web应用程序”的解决方案.您可以在任何地方构建Web应用程序,也可以在Laravel应用程序内部构建.
API很容易维护,你甚至可以合并网络应用程序和移动应用程序,因为它们都会这样做(除非你真的希望它们不同).此外,它更容易扩展,因为任何API消费者应用程序的界面保持不变.
这将有很大帮助:https://laracasts.com/series/incremental-api-development
>在同一个地方构建API和Web应用程序,需要在2中分离你的应用程序:一部分将响应AJAX请求并返回JsON,另一部分将回答正常方式,返回PHP视图和所有这些..
这意味着需要进行大量的额外工作并使视图数量增加一倍,因为您必须构建移动应用程序处理的视图以及Laravel本身处理的视图.这需要覆盖和维护(和测试).
这取决于你正在建设什么样的项目.是SPA吗?
总结以上是内存溢出为你收集整理的同一个Laravel项目中的Web应用程序和API?全部内容,希望文章能够帮你解决同一个Laravel项目中的Web应用程序和API?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)