如何在php中应用静态类

时间:2010-11-15 09:25:46

标签: java php

我是java和php程序员。 在java中,我可以使用静态类/方法,这样任何人都可以在运行时使用相同的一次创建类。

但对于php如何做,因为它是基于脚本的,只在我们刷新页面时运行?

我的主要目标是,我想使用同步类/方法,以便在执行PHP时不会发生冲突......

需要你的帮助来提供意见。 感谢

更新

  1. 我正在做多层次营销门户(mlm)
  2. 一旦注册成员,我们应该为上线支付奖金
  3. 我不想立即计算奖金,因为它有风险,可能需要一些时间才能完成,所以最好只注册会员并显示成功。
  4. 我的想法是,在注册后,只需调用另一个类来运行同步方法的奖励,这样奖励计算就不会受到另一个注册的影响。

2 个答案:

答案 0 :(得分:2)

PHP是无共享的。一切都只是为了请求。如果您想在请求之间共享信息,则必须实施可以执行此操作的some additional technology layer。或者查看process controlshared memory segmentssemaphores。后三者在PHP中不常见。以上所有内容仍然是异步的。

据我所知,没有办法在一个请求中更新类Foo,并让它在使用PHP的并发请求中立即更改状态。

答案 1 :(得分:2)

鉴于php脚本从每个sinlge时间开始运行,“静态”类与普通类没有太大差别。

如果你想在php程序的运行之间存储某种状态或保存一些数据,那么有许多选项。

只要他保持会话开放,SESSION变量就可以用来存储来自单个用户的请求之间的数据。

COOKIES可用于存储会话之间持续存在的数据,只要用户使用相同的浏览器,在同一台机器上并且没有清空cookie jar。

memchached和类似的包可用于存储数据,并使其可用于服务器上的任何php程序。

数据库是最具扩展性的解决方案,因为它们将在会话之间以及服务器之间保留数据。与其他解决方案相比,涉及建立连接和检索数据的一些开销。