2015-01-09 315 views

回答

0

我認爲這是主觀的,但我會給你我做這件事的方式。我保留models目錄,然後爲應用程序的每個模塊創建不同的子目錄。它看起來像下面這樣:

application 
    - controllers 
    - models 
    - authentication 
     - services 
     - mappers 
     - ... 
    - mail 
     - services 
     - mappers 
     - ... 
    ... (other directories) 
    - views 
    - templates 

我覺得這給了每個模塊的一個很好的分離,同時保持其其他開發人員正確地使用到models目錄中的一切。

我不知道這是否是最好或最有效的解決方案,但我認爲正確使用名稱空間證明它很容易管理。我還了解到,如果您正確使用SOLID principle,您幾乎可以將不同的目錄/模塊複製/粘貼到其他項目中,而無需太多的ha。。

A little series created by TutsPlus, which explains the SOLID principle in detail by using theory and a concrete example.

我希望這可以幫助你正確的方向。 此致敬禮。

-1

在Zend Framework中,您可以創建可以集成自己模型的「模塊」。

application/ 
    configs/ 
     application.ini 
    controllers/ 
     helpers/ 
    forms/ 
    layouts/ 
     filters/ 
     helpers/ 
     scripts/ 
    models/ 
    modules/ 
     Domain Objects/ 
      controllers/ 
      models/ 
     Data Mappers/ 
      controllers/ 
      models/ 
     Services/ 
      controllers/ 
      models/ 
    services/ 
    views/ 
     filters/ 
     helpers/ 
     scripts/ 
    Bootstrap.php 

正如你所看到的,每個模塊也有控制器和視圖關聯。

最後,你必須將這些模型添加到您的引導程序的自動加載磁帶機:

// Admin 
    $resourceLoader = new Zend_Loader_Autoloader_Resource(array(
     'basePath' => APPLICATION_PATH . '/modules/Domain Objects', 
     'namespace' => 'Domain Objects' 
    )); 

    $resourceLoader->addResourceType('controller', 'controllers/', 'Controller')->addResourceType('model', 'models/', 'Model');