0

PHP には Java のような同期メカニズムがありますか? 私のプロジェクトでは、異なるユーザーが同じトランザクションを続行できます。

例として、支払い詳細ページの URL を記載したメールを別のユーザーに送信します。そのため、そのページを同時に表示できます。また、同じ取引を継続することもできます。1 人のユーザーが既にページを表示している場合、ユーザーに対してそのページを拒否 (メッセージを表示) したい。Java では、オブジェクトに同期を使用できます。どうすればphpまたはzendフレームワークでそれを行うことができますか?

4

2 に答える 2

3

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";
}
?> 
于 2012-02-08T10:35:03.810 に答える
0

ここで達成しようとしていることを理解するのに苦労しています-PHPまたはJavaのいずれかで。データセットにミューテックスを適用したいようですが、それは同期の副作用ではなく、目的ではありません。セッション ID と FSM を使用してアクセスを制御する場合は、必要ありません。

于 2012-02-08T12:44:28.123 に答える