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 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.

    点赞 评论 复制链接分享