2

私のzendアプリケーションは複数のデータベース接続を使用しているため、multidbリソースを使用してapplication.iniファイル内のいくつかの接続を構成しました。

ここで、を使用してアプリケーションセッションをデータベースに保存したいのですが、Zend_Session_SaveHandler_DbTableデータベースにアクセスするためにこれらの接続のどれを使用するかを指定する方法が見つかりません。

ネット上で見つけたすべての例は、dbリソースを使用し、デフォルトのデータベースアダプターに依存しています。残念ながら、セッションはデフォルトではないデータベースに保存する必要があります...

セッションの保存に使用するデータベースを指定するにはどうすればよいですか?

4

1 に答える 1

3

Zendのドキュメントでは指定されていませんが、クラスのコンストラクターは、使用するデータベース接続を指定するZend_Session_SaveHandler_DbTableという名前のパラメーターを受け入れます。db

$db = $this->getPluginResource('multidb')->getDb('zend');
$config = array(
    'db'             => $db,
    'name'           => 'session',
    'primary'        => 'id',
    'modifiedColumn' => 'modified',
    'dataColumn'     => 'data',
    'lifetimeColumn' => 'lifetime'
);
Zend_Session::setSaveHandler(new Zend_Session_SaveHandler_DbTable($config));
Zend_Session::start();

ただし、構成ファイルでこれらの設定を指定できませんでしapplication.iniた...

于 2012-06-05T12:47:15.623 に答える