前几天我正在阅读有关SuplerGlobals的内容,例如$ _SERVER或(详见PHP Manual Superglobals),现在,我问我:
是否可以实施自己的SuperGlobals? 除了常数......
因此,例如,用户A在变量中写入一些内容,如果用户B正在调用它,则可以看到。 像服务器范围的会话变量之类的东西。
请不要努力,如果这是一个愚蠢的问题:) 我知道外面有几种方式,比如SQL,Xml和Stuff,但也许......
答案 0 :(得分:3)
你对PHP超级全球的整体想法是错误的。
这些变量始终只能用于一个脚本运行时,而不是整个站点。
答案 1 :(得分:2)
PHP没有可以在用户之间共享的上下文。你应该像SQL服务器或文件一样替换。您还可以查看一些可能有助于您实现目标的memcache扩展程序。
答案 2 :(得分:2)
前几天我正在阅读有关SuplerGlobals的内容,如$ _SERVER或(详见PHP手册Superglobals),现在,我问我:
是否可以实施自己的SuperGlobals?除了常数......
是的,如果您有PHP runkit分机,则可以。
因此,例如,用户A在变量中写入了一些内容,如果用户B正在调用它,则可以看到
这不是超级全球所做的 - 它们是存在于全局范围内的变量(即在脚本实例的持续时间内)。
如果要在不同的调用之间共享数据,则需要将其发送到存储层或(如果是单个客户端的数据)发送到浏览器。
由于您在此处描述的内容实际上是一个共享会话,因此实现此目的的合理位置将在会话处理程序中。
答案 3 :(得分:1)
这是不可能的,您只能看到自己的会话数据。
要实现此目的,您需要将数据存储在其他位置。在文本文件或MySQL数据库中最常见。
答案 4 :(得分:0)
我想您可以使用(asterix)export yourvar="something"(asterix)
并使用getenv
如果您使用以下apache可以使用: http://php.net/manual/en/function.apache-setenv.php
相同的想法,环境变量