对于数据库交互,让PHP对象镜像Javascript对象是多余的吗?

时间:2011-02-17 22:04:10

标签: php javascript object

我沉浸在PHP和Javascript中,但我仍然是编码方法和概念的新手;我正在寻找一些关于我试探性方法的反馈。

我正在构建一个用户注册的应用程序,然后获得“节点创建”的访问权限。我想保存每个用户的节点名称和位置,这样他们就可以登录并看到节点确切地离开它们的位置(正确的名称。)

我的问题:

  

“我计划有2个相同的   对象,一个在Javascript中,以及   其他在PHP ...但我意识到,这   可能是多余的;如果我需要的话   do是从中传输数据   数据库到Javascript对象,是   没必要使用PHP“克隆”   作为中间人的对象??“

我的想法是它可能更容易管理(yay OOP),但正如我所说,我是应用程序开发的新手,并希望对此事有一些反馈。

PHP对象示例:     

    class Node {

        public $name; // Stored JS object name
        public $position; // Stored JS object position

        function setObject() {
                    // set JS object name on app load
            // set JS object position on app load
        }
    }

?>

Javascript对象示例:

node = {    
    name : $name; // set name
    position : $position; // set position

    findPosition : function() {
        // Find JS object's updated position (when moved)
    }
}

2 个答案:

答案 0 :(得分:1)

您只需要镜像与数据库操作相关的位。请记住,Javascript是一个客户端系统。它可以通过AJAX调用与服务器端PHP脚本对话,但PHP脚本只在请求期间处于活动状态,然后再次关闭。

因此,您每次都必须在每个请求上传输整个对象,否则PHP端将不会与Javascript端同步。

答案 1 :(得分:1)

我认为你的想法是错误的。

您正在将PHP对象称为“中间人”。在Web应用程序中,中间人是HTTP连接。这里的中间人是数据传输格式(JSON,XML,自定义,无论如何)。您的客户端脚本无关紧要如何完成数据格式化,服务器不关心客户端对代码执行的操作。

您应该问的真正问题是服务器端的需要。服务器端脚本的目的是将数据库中的数据转换为发送到客户端所需的格式,并可能修改此数据以响应客户端。您需要确定服务器端数据将具有哪种方法和属性,并围绕该方法设计代码。不要尝试复制客户端代码,因为它的目的完全不同。