从脚本查询后端时的最佳实践
Best practices when querying backend from script
我正在为 Web 应用程序处理多个报告。我必须在一些 bar/line 图表中显示我数据库中的一些数据。我使用的是 Codeigniter 框架,所以我的后端是 PHP,我的前端主要由 html 和 JS 组成。至于显示图表,我使用的是电子图表库。
我的问题是,检索图表数据时的最佳做法是什么。我可以使用 ajax 调用并检索一般数据,然后在前端使用 JS 对其进行格式化,最后绘制图表。
第二个选项是也进行 ajax 调用,但是创建一个已经以图形可以理解的特定格式发送数据的端点。然后该端点将仅由该特定图形使用。
第三个选项再次创建一个特定的函数来检索和格式化后端中的数据,但这次同时使用 html 和 codeigniter 视图中的数据。然后为 html+js 页面提供所需的所有数据,不涉及异步调用。
这三个选项都有一些限制,所以我想知道哪个是最佳做法。如果您有其他选择,我想了解一下。
我想这取决于您的需求。总的来说,我认为最好的做法是尽可能减少后端和前端之间的依赖关系。特别是如果你打算改变你的前端或想要服务多个前端。
因此端点应该return 以一种所有人都能理解和使用的格式传输数据。
您需要将服务注入到此 API 的控制器中。所以控制器从服务接收数据并响应它。只是。数据提取(从数据库)和处理必须由服务完成。
这样你就更灵活了。您可以为 AJAX 调用创建一个 API 控制器,并在需要时创建另一个呈现 HTML 的控制器。
对于第一个,API 控制器,正如我上面所说,控制器接收数据并 return 发送它。你让前端负责计算、转换等。
对于第二个,控制器必须从注入的服务中获取数据,还要计算、转换等,然后呈现 HTML.
了解 single-responsability principle or, more generally, the separation of concerns principle。
我正在为 Web 应用程序处理多个报告。我必须在一些 bar/line 图表中显示我数据库中的一些数据。我使用的是 Codeigniter 框架,所以我的后端是 PHP,我的前端主要由 html 和 JS 组成。至于显示图表,我使用的是电子图表库。
我的问题是,检索图表数据时的最佳做法是什么。我可以使用 ajax 调用并检索一般数据,然后在前端使用 JS 对其进行格式化,最后绘制图表。
第二个选项是也进行 ajax 调用,但是创建一个已经以图形可以理解的特定格式发送数据的端点。然后该端点将仅由该特定图形使用。
第三个选项再次创建一个特定的函数来检索和格式化后端中的数据,但这次同时使用 html 和 codeigniter 视图中的数据。然后为 html+js 页面提供所需的所有数据,不涉及异步调用。
这三个选项都有一些限制,所以我想知道哪个是最佳做法。如果您有其他选择,我想了解一下。
我想这取决于您的需求。总的来说,我认为最好的做法是尽可能减少后端和前端之间的依赖关系。特别是如果你打算改变你的前端或想要服务多个前端。
因此端点应该return 以一种所有人都能理解和使用的格式传输数据。 您需要将服务注入到此 API 的控制器中。所以控制器从服务接收数据并响应它。只是。数据提取(从数据库)和处理必须由服务完成。
这样你就更灵活了。您可以为 AJAX 调用创建一个 API 控制器,并在需要时创建另一个呈现 HTML 的控制器。 对于第一个,API 控制器,正如我上面所说,控制器接收数据并 return 发送它。你让前端负责计算、转换等。 对于第二个,控制器必须从注入的服务中获取数据,还要计算、转换等,然后呈现 HTML.
了解 single-responsability principle or, more generally, the separation of concerns principle。