次のコードは正常に動作します。
$memcached = new Memcached();
$memcached->setOption(Memcached::OPT_CLIENT_MODE, Memcached::DYNAMIC_CLIENT_MODE);
$memcached->setOption(Memcached::OPT_DYNAMIC_POLLING_INTERVAL_SECS, 60);
$memcached->addServer('etc.expalp.cfg.apse1.cache.amazonaws.com', 11211);
$memcached->set('tester', 'set tester...babe!!', 600);
echo $memcached->get('tester');
ただし、オブジェクトの作成をクラスに移動したいと考えています (設定されている設定がかなり多く、すべてのページにこれを含めたくないため)。次のことを試しましたが、うまくいきません。
$elasticache = new elasticache();
$elasticache->memcached->set('tester', 'set tester...babe!!', 600);
echo $elasticache->memcached->get('tester');
それから私は以下のようにelasticache(spl_autoload_registerでロードされた)と呼ばれるクラスを持っています:
class elasticache {
function __construct() {
$memcached = new Memcached();
$memcached->setOption(Memcached::OPT_CLIENT_MODE, Memcached::DYNAMIC_CLIENT_MODE);
$memcached->setOption(Memcached::OPT_DYNAMIC_POLLING_INTERVAL_SECS, 60);
$memcached->addServer('etc.expalp.cfg.apse1.cache.amazonaws.com', 11211);
}
}
うまくいかないので、明らかに私はここで何か間違ったことをしています。注: Memcached() オブジェクトは PHP 動的ライブラリです。これは非常に重要なことです)。誰にもアイデアがあります-初めてこれを試しました。