在PHP中保存全局变量的位置


Where to keep the globals variables in PHP?

我习惯于使用Java和Spring Framework。但不久前,我开始学习PHP,以熟悉另一种语言。

我正在尝试写一个简单的东西来使用html画布进行绘制,这样就可以有1个以上的用户同时使用它进行绘制。

在Java中,我会在控制器中使用一个类变量来存储用户绘制的图片。用户每隔1-2秒发送一次带有他们绘制的新数据的请求,这样我就可以将更改添加到全局变量中。然后将更改发送给每个用户。当新用户进入时,服务器会将整个图片发送给他。

所以,我的问题是,如何在PHP中存储应用程序全局变量?就像这个例子中的图片。。。正如我所看到的,在完成之后,PHP停止运行,所有的变量都随之消亡,对吧?那么,有什么方法可以使变量应用程序全局化吗?所以我可以从应用程序的不同部分访问它?

我可以在完成脚本之前将其保存到文本文件中。每次出现新的请求时,从文本文件中再次读取,进行更改,然后写回文本文件。。。但这太疯狂了。。。难道没有像我以前使用的Spring Framework和Java那样的方法吗?

您需要一种形式的持久存储。所谓持久性,我指的是不基于单个用户会话的存储,就像$GLOBALS数组一样。PHP会话对于单个用户的存储很有用,但一个用户无法访问另一个用户的会话数据。

持久存储可以通过几种方式实现。一些选项:检查数据库表中的一行,或者像您提到的那样将值存储在文件中。

数据库存储

查看php的mysqli_query(),了解有关通过数据库执行此操作的更多信息。这需要MySQL语法知识。

文件存储

查看php的file_get_contents()file_put_contents(),了解如何轻松地与从文件中检索数据和在文件中设置数据交互。

正如DevZer0所回答的那样-您想要使用会话。有关会话的更多信息,请参阅php手册:http://www.php.net/manual/en/intro.session.php