Javaでは、静的メンバーはクラスのすべてのインスタンスの値を保持します。これはPHPで行うことができますか?私は数年前にこの問題にぶつかったことを覚えています。現在のテストでは、静的メンバーはその状態を維持していないことが確認されています。だから私は、PHPでクラスがアンロードされ、すべての状態が各要求の後に破棄されたと思います。PHPクラスの静的メンバー状態を維持する方法は?
のindex.php
include('cache.php');
$entityId=date('s');
$uri='page'.$entityId;
$cache = new Cache();
$cache->cacheUrl($uri, $entityId);
cache.php
class Cache {
private static $URL_CACHE;
public function cacheUrl($url, $entityId) {
echo '<br>caching '.$url.' as '.$entityId;
$URL_CACHE[$url]=$entityId;
echo '<br>Cache content:<br>';
foreach ($URL_CACHE as $key => $value) {
echo 'Key: '.$key.' Value: '.$value.'<br>';
}
}
}
出力(私は、単一のキー=>値を取得するたびに)
caching test33 as 33
Cache content:
Key: test33 Value: 33
私は、PHPでJVMという概念を持っていないことを理解しています。 PHPの標準インストール(これはcPanelで標準的なVPSホスティングサービス)でこれを行う方法はまだありますか?
PHPクラスはコンパイルされておらず、永続的ですが、これは記憶媒体のためのものです。 – Blake
'$ URL_CACHE'と' self :: $ URL_CACHE'は__different__変数です。 –
私はself :: $ URL_CACHEとCache :: $ URL_CACHEを両方の場所で試しましたが、運はありませんでした。 – jacekn