Zend_Config很容易處理不同配置的問題。請參閱快速入門配置上一節:
http://framework.zend.com/manual/en/learning.quickstart.create-project.html
這使您可以爲每個環境指定不同的設置。
至於模式,我猜你有一些生活在Production_Foo和其他生活在Production_Bar中的表。考慮爲這些模式中的每一個擴展Zend_Db_Table,並在構建時指向正確的數據庫。
Zend_Db_Table類的構造函數定義如下:
public function __construct($config = array(), $definition = null)
{ ... }
當我們跟進,看看$定義導致它允許您通過加載到Zend_Db_Table_Definition數組。其中一個爲這個選項是表名:
/**
* @param string $tableName
* @param array $tableConfig
* @return Zend_Db_Table_Definition
*/
public function setTableConfig($tableName, array $tableConfig)
{
// @todo logic here
$tableConfig[Zend_Db_Table::DEFINITION_CONFIG_NAME] = $tableName;
$tableConfig[Zend_Db_Table::DEFINITION] = $this;
if (!isset($tableConfig[Zend_Db_Table::NAME])) {
$tableConfig[Zend_Db_Table::NAME] = $tableName;
}
$this->_tableConfigs[$tableName] = $tableConfig;
return $this;
}
至於你的模式,你只是通過不同的一套指向正確的數據庫適配器選項。
簡短回答:也許[this](http://stackoverflow.com/questions/4437782/zend-framework-database-table-field-prefix-like-users-us-name)將幫助。 – nevvermind