首页 >后端开发 >php教程 >网站架构问题

网站架构问题

WBOY
WBOY原创
2016-08-10 09:07:23996浏览

目前我们网站呢有移动端(IOS, ANDROID, PC, TV)四个端,然后呢 除了PC端,其他端都是通过api json数据格式访问获取数据的,但是PC端不是,除非比如一些列表页啊等 是采用api的,其他的PC 页面都是在渲染页面的时候有后台直接生成的。然后我们现在遇到的问题是,这四个端现在需要的接口是不以言的,即使接口一样,那么数据结构或者说字段是不一样的,这个该怎么处理呢?目前我们的做法是服务端采用的MVC模型,外加一个Lib库,然后对于接口的话 只是在控制器调用lib里面的class和方法,对于pc的话 我们实现了一个简单的标签,其实也就是间接的访问class,比如我要获取用户列表在提供家口的控制器中这样子:

<code>// .....
$userList = User::getList()
return $this->success($userList);</code>

那么在PC端的页面的话 就在模板上这么写:

<code>{{ userlist = Tag_User_getList() }}
// ....</code>

基本就是这样子的一个结构,但是这样子很有弊端,比如没法把PC端跟移动端分开不熟,其次,像移动端要的数据,PC端不一定要,反之一样,可能造成读取一些用不到的数据等等吧,
那么我想问像一些大的项目他们是怎么解决这个问题的呢?比如 淘宝啊 京东啊等

回复内容:

目前我们网站呢有移动端(IOS, ANDROID, PC, TV)四个端,然后呢 除了PC端,其他端都是通过api json数据格式访问获取数据的,但是PC端不是,除非比如一些列表页啊等 是采用api的,其他的PC 页面都是在渲染页面的时候有后台直接生成的。然后我们现在遇到的问题是,这四个端现在需要的接口是不以言的,即使接口一样,那么数据结构或者说字段是不一样的,这个该怎么处理呢?目前我们的做法是服务端采用的MVC模型,外加一个Lib库,然后对于接口的话 只是在控制器调用lib里面的class和方法,对于pc的话 我们实现了一个简单的标签,其实也就是间接的访问class,比如我要获取用户列表在提供家口的控制器中这样子:

<code>// .....
$userList = User::getList()
return $this->success($userList);</code>

那么在PC端的页面的话 就在模板上这么写:

<code>{{ userlist = Tag_User_getList() }}
// ....</code>

基本就是这样子的一个结构,但是这样子很有弊端,比如没法把PC端跟移动端分开不熟,其次,像移动端要的数据,PC端不一定要,反之一样,可能造成读取一些用不到的数据等等吧,
那么我想问像一些大的项目他们是怎么解决这个问题的呢?比如 淘宝啊 京东啊等

你这么说,完全不知道你们的网站是怎么回事?好像是4个网站硬捏到一起去了。既然各走各的接口,干嘛要统一接口呢?如果目前数据一致性达到了,那就别在意接口问题了,大改动是不可能了。在接口处把不需要的字段过滤掉就ok了。再深入的事就不要做了,本来就乱糟糟,越改越乱。

个人觉得api接口在设计的时候尽量做到标准化....一套接口,多端调用。

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn