Zend_Queue を使用してメールをキューに入れ、送信しています (http://framework.zend.com/manual/en/zend.queue.adapters.html)
Zend_Queue_Adapter_Db のデフォルトのテーブル名を変更する方法はありますか? デフォルトでは、テーブル名は「queue」と「message」ですが、これは少し紛らわしいので、名前を queue と queues_messages にしたいと思います。
Zend_Queue を使用してメールをキューに入れ、送信しています (http://framework.zend.com/manual/en/zend.queue.adapters.html)
Zend_Queue_Adapter_Db のデフォルトのテーブル名を変更する方法はありますか? デフォルトでは、テーブル名は「queue」と「message」ですが、これは少し紛らわしいので、名前を queue と queues_messages にしたいと思います。
これらのテーブル名は、ミューテーターが組み込まれていないデフォルトのプロパティ値としてハードコーディングされているように見えますが、おそらくZend_Queue_Adapter_Dbをオーバーライドして入札を行うことができます。このコードはテストされていませんが、次のようなものです。
class My_Queue_Adapter_Db extends Zend_Queue_Adapter_Db
{
public function __construct($options, Zend_Queue $queue = null)
{
parent::__construct($options, $queue);
if (isset($options['queueTableName']) {
$this->_queueTable->setOptions(
array(Zend_Db_Table_Abstract::NAME => $options['queueTableName'])
);
}
}
}
次に、「queueTableName」プロパティをコンストラクターに渡します。同じ原則が_messageTableプロパティにも適用されます。