我是java和php程序员。 在java中,我可以使用静态类/方法,这样任何人都可以在运行时使用相同的一次创建类。
但对于php如何做,因为它是基于脚本的,只在我们刷新页面时运行?
我的主要目标是,我想使用同步类/方法,以便在执行PHP时不会发生冲突......
需要你的帮助来提供意见。 感谢
更新
答案 0 :(得分:2)
PHP是无共享的。一切都只是为了请求。如果您想在请求之间共享信息,则必须实施可以执行此操作的some additional technology layer。或者查看process control,shared memory segments和semaphores。后三者在PHP中不常见。以上所有内容仍然是异步的。
据我所知,没有办法在一个请求中更新类Foo,并让它在使用PHP的并发请求中立即更改状态。
答案 1 :(得分:2)
鉴于php脚本从每个sinlge时间开始运行,“静态”类与普通类没有太大差别。
如果你想在php程序的运行之间存储某种状态或保存一些数据,那么有许多选项。
只要他保持会话开放,SESSION变量就可以用来存储来自单个用户的请求之间的数据。
COOKIES可用于存储会话之间持续存在的数据,只要用户使用相同的浏览器,在同一台机器上并且没有清空cookie jar。
memchached和类似的包可用于存储数据,并使其可用于服务器上的任何php程序。
数据库是最具扩展性的解决方案,因为它们将在会话之间以及服务器之间保留数据。与其他解决方案相比,涉及建立连接和检索数据的一些开销。