在学php的时候,自己弄糊涂了,向大家求证:
1、static变量,是类变量,被所有实例共享吗?
比如在一个class中,声明一个static int i,并执行++操作,现在开了十个客户端(在不同用户那里实例化10次),每个客户端都在前一个客户端的执行结果上再执行++操作吗?
asp.net是这样子的(类似application而不似session),不知道php是不是也是这样?
2、如果上面为真,那么数据库连接采用单例模式,岂不是所有客户端共用一个连接对象?如果没有关闭的话不是有问题?这里我迷惑了。
如果上面不为真,那么使用单例模式又共享了什么呢?
谢谢。
php中的变量(非Session)的最大作用域就是一次请求,每次请求都会重新初始化static变量。
温馨提示:答案为网友推荐,仅供参考
第1个回答 2011-07-28
第一个问题 static 是说静态变量。当你子程序结束时,子程序中的静态变量是不回被注销的。但是当主程序结束后这个变量还是会注销的。
第2个回答 2011-07-28
你做的是在线人数统计?
不可以这样的,建议你使用数据库+session实现
不可以这样的,建议你使用数据库+session实现