Doctrine爲每個數據庫連接使用一個實體管理器。所以你可以連接到多個數據庫,但你不能鏈接這些實體。從Doctrine或數據庫內部對實體施加約束的唯一方法是如果它們在同一個數據庫中。
您可以自己卻強制約束和使用兩個獨立的實體管理器 但是我不會推薦這
數據庫連接細節應貯存在您的/config/autoload/local.php
或/config/autoload/{ownname}.local.php
和ownname例如,您可以選擇「教義」
doctrine.local.php
<?php
return array(
'doctrine' => array(
'connection' => array(
'orm_default' => array(
'configuration' => 'orm_default',
'driverClass' =>'Doctrine\DBAL\Driver\PDOMySql\Driver',
'eventmanager' => 'orm_default',
'params' => array(
'host' => 'localhost',
'port' => '3306',
'user' => '{username}',
'password' => '{password}',
'dbname' => '{db}',
),
),
),
),
);
的一般原則設置像您的實體位於閱讀類元數據可以放在/config/autoload/global.php
文件或以global.php
結尾的文件中,就像之前的本地文件一樣,或者您可以將其存儲在您的模塊配置文件中
的實體應存放你的模塊放在一個目錄Entity
,如: 根/模塊/ {模塊名}/src目錄/ {模塊名} /實體/
爲如何存儲他們看到:Doctrine Documentation
如果您使用實體多個模塊,最好是做一個通用模塊,並把那作爲一個依賴與所有需要這種實體
你可以改變自己的數據庫,用於測試的環境或者使用一個模塊的配置文件之間chnaging,如: Config Module這是通過誰做ZF2
這是我現在使用的配置人民作出。它不適用於多個數據庫,因爲* {db} *僅設置爲* 1 * db。這也不適用於數據庫的前綴。 –
如果你創建一個抽象工廠,你可以在servicemanager中爲你的服務添加前綴,並根據你提供的配置創建儘可能多的適配器 –