2013-06-29 28 views
0

我习惯使用Java和Spring Framework。但不久前我开始学习PHP,以熟悉另一种语言。在哪里保持全局变量在PHP中?

我想写一个简单的事情来绘制使用HTML画布,所以超过1个用户可以在同一时间使用绘制。

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

所以,我的问题是,我如何在PHP中存储应用程序全局变量?就像这个例子中的图片一样...... 正如我所看到的,完成之后,PHP暂停并且所有变量都随之死亡,对吧?那么有没有什么办法让全局变量的应用程序?所以我可以从应用程序的不同部分访问它?

在完成脚本之前,我可以将它保存为文本文件。每次发生新的请求时,再次从文本文件中读取它,进行更改,然后回写到文本文件中......但它太疯狂了......没有任何方法,就像我之前使用的Spring Framework和Java一样?

+1

在数据库中,文件系统文件或缓存像memcache或redis –

+0

thx很多给大家! – user2452103

+0

[用php.ini声明全局变量]的可能重复(http://stackoverflow.com/questions/5052558/declaring-global-variable-with-php-ini) – Omar

回答

1

您需要一种持久存储形式。通过持久性,我的意思是存储不基于个人用户的会话,如$GLOBALS阵列。 PHP Sessions对于单个用户的存储很有用,但是一个用户不能访问另一个用户的会话数据。

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

数据库存储

退房PHP对通过数据库这样做的更多信息的mysqli_query()。这将需要了解MySQL语法。

文件存储

退房PHP的file_get_contents()file_put_contents()关于如何轻松地从文件中检索数据,并在文件中设定的数据进行交互的例子。