Zend_Queue数据库方案

apo*_*rat 1 php zend-framework zend-queue

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

有没有办法修改Zend_Queue_Adapter_Db默认表名?默认情况下,表名是"队列"和"消息",这有点令人困惑,我想将它们命名为queues和queues_messages.

Kri*_* K. 6

这些表名称似乎是硬编码为默认属性值,没有内置的mutator,但您可以覆盖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'])
            );
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

然后只需将'queueTableName'属性传递给构造函数.同样的原则适用于_messageTable属性.