2017-06-19 146 views
0

我是Zend Framework 3編程的新手。Zend Framework 3在同一個項目的模塊之間共享模型

此前我們創建一個項目,將所有數據庫表映射包含在一個特定模塊中。

現在,我們需要在同一個項目中創建另一個模塊。所以我們想從第一個模塊外部放置數據庫映射對象,以便在兩個模塊之間共享類。

我嘗試爲映射創建一個新模塊,但沒有成功。命名空間不存在。

我尋找像使用ServiceManager的解決方案後,但我真的不明白如何使用它。

你知道是否有另一種解決方案比使用ServiceManager?如果沒有,我是否使用包含關鍵字use的對象來更改所有以前的代碼,以便使用ServiceManager?

謝謝。

回答

0

Finaly在我的解決方案中,我創建了一個模塊,其中只包含src目錄下doctrine映射的源文件。

/module 
    /MyApplication 
    /src 
     /config 
     /module.config.php 
    /Common 
    /src 
     /DoctrinMapping 
     /Entities 
composer.json 

composer.json我把:

"autoload": { 
    "psr-4": { 
     "MyApplication\\": "module/MyApplication/src/" 
     ,"Common\\":"module/Common/src/" 
    } 
} 

在項目根I執行COMMANDE行:

composer dump-autoload 

後進入的module.config.php我定義的原則參考爲:

,'doctrine' => 
[ 
    'driver' => 
    [ 
     'common_entities' => 
     [ 
      'class' => 'Doctrine\ORM\Mapping\Driver\AnnotationDriver' 
      ,'cache' => 'array' 
      ,'paths' => array(__DIR__ . '/../../Common/src/DoctrineMapping/Entities') 
     ], 
     'orm_default' => 
     [ 
      'drivers' => 
      [ 
       'Common\DoctrineMapping\Entities' => 'common_entities' 
      ] 
     ] 
    ] 
] 

這是有效的,但我不知道這是否是最佳的解決方案。