这个问题现在已经有一段时间了。
假设我有一个PHP网站,它有一个API(SOAP,REST等),这个API几乎提供与页面可用的相同的东西(例如博客文章,评论,统计等。)。
为了避免代码冗余/重复,我正在考虑使用API甚至用于站点本身,因为尽管大多数代码分解已经通过使用MVC的模型完成,但是如果站点必须使用某些逻辑仍然是双倍的提供API。
我的观点是GUI 应该是一个消耗API(一个新层)的层,但我担心性能问题,因为在PHP网站中,API调用通过HTTP请求进行时间。
答案 0 :(得分:1)
通常,您不希望服务器对其自身进行“内部”调用。相反,让初始HTML包含驱动交互的Javascript:
HTTP响应:静态HTML(高度缓存)
HTTP API请求:通过AJAX发送到网站的API网址
HTTP API响应:发送到第3点的浏览器。
Javascript:改变DOM
“额外”调用需要时间,但RESTful架构努力通过缓存(通常根本不会导致网络活动)优化用户感知的性能,就像分块一样。有关更多分析,请参阅a previous answer of mine。