1

我正在使用 Zend_Queue 排队并发送电子邮件(http://framework.zend.com/manual/en/zend.queue.adapters.html)

有没有办法修改 Zend_Queue_Adapter_Db 默认表名?默认情况下,表名是“queue”和“message”,这有点令人困惑,我想将它们命名为 queues 和 queues_messages。

4

1 回答 1

6

这些表名似乎被硬编码为没有内置修改器的默认属性值,但您可能可以覆盖 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 属性。

于 2011-06-21T20:55:32.760 回答