doujiao1948 2014-07-02 12:07
浏览 41
已采纳

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

Okay, so before I receive any abuse from this post, I'd like to state that I am all for following normal principals for persisting data, however today when I was developing I had an idea to create a class which sent a JSON object between pages simply using its own getter and setter methods.

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;
    }
}

My question is, does this object get set exclusively to one user, or would it become system wide, I know that PHP is a server side language, so I assume the Object is created on the server.

Will each user have their own Persist object created or will there be one shared one, obviously one shared object would be a huge problem.

Thanks in advance, Alex.

  • 写回答

1条回答 默认 最新

  • dongwen1909 2014-07-02 12:42
    关注

    PHP is stateless. Each request will run usually in its own process/thread and the process/thread will stop after the script is done. Each instance of a class (also singletons) will thus be existing for the duration of that request. This is unlike c#/.net for example, where the entire web application is run like an application that handles multiple requests. So, no, it is not possible this way.

    To share/persist data over multiple requests you will need to use something on disk or some external tool. Think of: sessions, databases, memcache, apc, etc.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大