PHP 有像 Java 一样的同步机制吗?在我的项目中,不同的用户可以继续进行相同的交易。
例如,我向不同的用户发送一封带有付款详情页面 URL 的邮件。这样他们就可以同时查看该页面。他们也可以继续进行相同的交易。当一个用户已经查看该页面时,我想为用户拒绝(显示消息)该页面。在java中,我们可以对对象使用同步。我如何在 php 或 zend 框架中做到这一点?
PHP 有像 Java 一样的同步机制吗?在我的项目中,不同的用户可以继续进行相同的交易。
例如,我向不同的用户发送一封带有付款详情页面 URL 的邮件。这样他们就可以同时查看该页面。他们也可以继续进行相同的交易。当一个用户已经查看该页面时,我想为用户拒绝(显示消息)该页面。在java中,我们可以对对象使用同步。我如何在 php 或 zend 框架中做到这一点?
PHP 不像 Java。
每个请求在具有单独变量的单独堆栈中运行。您只能使用memcache等扩展在 PHP 中共享对象。
我的建议是使用文件系统的锁定机制。例如:
<?php
$fp = fopen( $filename,"w"); // open it for WRITING ("w")
if (flock($fp, LOCK_EX)) {
// do your stuf here
flock($fp, LOCK_UN); // unlock the file
} else {
// flock() returned false, no lock obtained
print "Could not lock $filename!\n";
}
?>
我很难理解你在这里想要实现的目标——无论是用 PHP 还是 Java。似乎您想将互斥锁应用于数据集-但这不是同步的副作用-不是目的。如果您使用会话 ID 和 FSM 来控制访问,则不需要。