好的,所以在我收到这篇帖子中的任何滥用之前,我想说我全都是为了遵循正常的原则来保存数据,但是今天我开发的时候我想创建一个发送了一个类的类。页面之间的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对象,还是会有一个共享对象,显然一个共享对象会是个大问题。
提前致谢, 亚历克斯。
答案 0 :(得分:2)
PHP无国籍。每个请求通常在其自己的进程/线程中运行,并且进程/线程将在脚本完成后停止。因此,每个类的实例(也是单例)将在该请求的持续时间内存在。这与c#/。net不同,例如,整个Web应用程序像处理多个请求的应用程序一样运行。所以,不,这种方式是不可能的。
要在多个请求中共享/保留数据,您需要在磁盘或某些外部工具上使用某些内容。想一想:会话,数据库,内存缓存,apc等。