javascript - WebDev新手: How should I approach passing a complex object from PHP to PHP (non-contiguous)

标签 javascript php json ajax serialization

所以,我最初是一名 native 应用程序开发人员(主要是 C++),但我发现自己正在为 friend 从事一个小型企业编码项目。我习惯了独立的 native 应用程序,并且正在努力解决项目中当前的问题:

我在 PHP 中有一个 AppInstance 类,它是作为单例实现的(我听说大多数时候这并不是最好的做事方式,我承认这一点)。该类包含应用程序的一些基本操作参数(主要是简单的字符串和数字),以及复杂对象的数组(由其他对象、数组和其他成员和方法组成的对象)。我希望能够在这个原始 PHP 脚本之间传递任何/所有应用程序数据(它初始化我的程序运行所需的所有值,并输出 UI 的默认 HTML)。

然后我开始使用 Javascript 处理用户输入操作。其中一些输入需要来自原始 PHP 脚本的信息。因为这些输入的处理需要更多的计算,所以我想使用 AJAX 在服务器上调用此处理(在 PHP 中)并返回输出。但是,因为此处理需要原始 PHP 脚本中的一些对象,所以我试图弄清楚应该如何以最有效的方式传递这些对象?

我读到,我可以使用 JSON 编码来有效地序列化我的对象并将它们发送到 JS(本例中为 UI),并且这些对象可以返回到 PHP ( see this )。但我的问题确实是一个多部分的问题:

  1. 在服务器上执行所有计算和处理(使用 PHP,而不是在客户端使用 JS 执行)会更高效吗?
  2. 如果问题 1 的答案是"is",我的第一个倾向是将 PHP 对象序列化到服务器上的文件,然后让新的 PHP 脚本读取并反序列化该对象。有没有比这更有效的方法,如果没有,我应该以 JSON 或 PHP 的 serialize() 格式进行序列化?

编辑:我可能应该提到我的一些对象也拥有资源变量,因为我知道这对序列化有一些影响。

最佳答案

就效率而言,我会考虑减少网络 (AJAX) 调用数量的方法,因为这通常是最大的开销。对于您的情况,很难对此发表评论,因为我不知道客户多久会打一次这样的电话。我更担心的是安全性,因为 Javascript 能够操纵从 AppInstance 获取的值。我个人会考虑使用仅公开您允许的操作的 API。

关于javascript - WebDev新手: How should I approach passing a complex object from PHP to PHP (non-contiguous),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35751732/

相关文章:

java - JSON 文件未复制到目标文件夹

javascript - 单击数组元素,显示与另一个数组具有相同索引的元素

PHP json_encode 到 Javascript 未定义/空

javascript - Vue.js - 具有动态组件的多个事件

php - 将视频上传到 YouTube 作为不公开

php - 字段 'user_id' 为空

javascript - jQuery:将效果应用于 jquery 集合中的每个元素并暂停

php - 数据透视表 Laravel 4

java - Json - JSONArray 无法转换为 JSONObject

javascript - 在 React.js 中将 Async/Await 与 Axios 一起使用