PHP在不使用$ _GET和$ _POST的情况下在页面之间保留数据

时间:2014-07-02 12:07:39

标签: php

好的,所以在我收到这篇帖子中的任何滥用之前,我想说我全都是为了遵循正常的原则来保存数据,但是今天我开发的时候我想创建一个发送了一个类的类。页面之间的JSON对象只使用自己的getter和setter方法。

class Persist {
    private static $instance;
    private static $object;

    // singleton instanciation of the class
    public static function getInstance() {
         $object = __CLASS__;

         !isset(self::$instance) ? self::$instance = new $object : false;

         return self::$instance;
    }

    set__object($curr_object) { 
         self::$object = $curr_object;
    }

    get__object() {
         return self::$object;
    }
}

我的问题是,这个对象是专门为一个用户设置的,还是在系统范围内,我知道PHP是服务器端语言,所以我假设在服务器上创建了对象。

每个用户都会创建自己的Persist对象,还是会有一个共享对象,显然一个共享对象会是个大问题。

提前致谢, 亚历克斯。

1 个答案:

答案 0 :(得分:2)

PHP无国籍。每个请求通常在其自己的进程/线程中运行,并且进程/线程将在脚本完成后停止。因此,每个类的实例(也是单例)将在该请求的持续时间内存在。这与c#/。net不同,例如,整个Web应用程序像处理多个请求的应用程序一样运行。所以,不,这种方式是不可能的。

要在多个请求中共享/保留数据,您需要在磁盘或某些外部工具上使用某些内容。想一想:会话,数据库,内存缓存,apc等。