使用PHP作为服务器后端语言,如何做到web前端与手机客户端使用同一个服务器?

最近要做一个项目,要既有客户端又有web前端。使用的是YII框架,web前端还好说,直接在html代码中echo,有时候甚至直接echo出html语句,但是这样做又不能兼容到 Android客户端。请问我该如何做才能做到web端与客户端使用同一套服务器代码呢?

使用json么?求教,真心求教

阅读 10.1k
6 个回答

使用 API 机制,无论 web 端还是 mobile 端,都走 API 来取数据。
既然用的是 YII,就可以通过 behavior 机制来 handle 很多 stuff
例如,定义一个 APIBehavior 来做数据格式化处理之类的事情。

但是,既然题主希望使用一套机制来处理的话,就需要保证需求一致,否则你在 web 端需求改动,需要改动 API,那么就会对 mobile 造成影响。

当然你可以把大部分的逻辑放在一个 BaseAPI 中,然后将异化代码分别放在 MoblieAPIWebAPI 内。

如何设计一个 RESTful API 可以参考:

《Best Practices for Designing a Pragmatic RESTful API》

StephenLee说的很清楚了,使用接口传输数据(josn),移动端和web端在前端js进行数据在页面的渲染,唯一不同的只是css布局。移动端的时候可能砍掉一些功能或者单独设计功能。json只是数据的传输格式,rest是你接口的数据的传输协议。可以采用boostrap3.0之类的css框架,但是对于低版本ie的支持很一般。


我喜欢angularjs, 基本就是跟echo一样,比如数据是object.item.name, 只要在web上{{object.item.name}}就行,封装了handlebarjs的模板,什么foreach、ifesle都可以很简单实现。当然还有很多js框架,甚至直接用jquery都可以。


我估计题主开发队伍也不雄厚,前段后端就一两个人,我个人觉得backbone有点重,我对比ember和angular还有backbone以后觉得开发代码量最重的好像backbone了,最简单的是angular :)

单独恢复这么多,不敢要采纳,给个赞吧

web、安卓客户端都是浏览器么?可以试试bootstrap,一个CSS/HTML框架,应该可以解决你的兼容性问题

布局最好用响应式前端框架如bootstrap.然后可以看下phonegap

web端用angular.js,移动端用bootstrap就行了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏