我正在使用 Zend_Queue 排队并发送电子邮件(http://framework.zend.com/manual/en/zend.queue.adapters.html)
有没有办法修改 Zend_Queue_Adapter_Db 默认表名?默认情况下,表名是“queue”和“message”,这有点令人困惑,我想将它们命名为 queues 和 queues_messages。
我正在使用 Zend_Queue 排队并发送电子邮件(http://framework.zend.com/manual/en/zend.queue.adapters.html)
有没有办法修改 Zend_Queue_Adapter_Db 默认表名?默认情况下,表名是“queue”和“message”,这有点令人困惑,我想将它们命名为 queues 和 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 属性。