网站架构问题

WBOY
Lepaskan: 2016-08-10 09:07:23
asal
997 orang telah melayarinya

目前我们网站呢有移动端(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>
Salin selepas log masuk
Salin selepas log masuk

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

<code>{{ userlist = Tag_User_getList() }}
// ....</code>
Salin selepas log masuk
Salin selepas log masuk

基本就是这样子的一个结构,但是这样子很有弊端,比如没法把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>
Salin selepas log masuk
Salin selepas log masuk

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

<code>{{ userlist = Tag_User_getList() }}
// ....</code>
Salin selepas log masuk
Salin selepas log masuk

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

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

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

Label berkaitan:
php
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan