2016-07-23 81 views
0

我試圖通過將模型和控制器放在子目錄中來更好地組織我的應用程序。我認爲這並不重要,只要命名空間是正確的,他們是否在子目錄中,但現在我已經移動它們,我得到一個類未找到錯誤。Laravel 5:未找到子目錄中的組織模型

我試過幾次運行composer dumpautoload,但它仍然無法正常工作。

這裏是我的目錄結構:

  • 應用
  • 模型
    • 經理
      • EntryStructure.php
      • FieldManager.php
  • 控制器
    • EntryControllers.php

既然我已經做了新的目錄經理和感動在裏面這兩個模型,當我引用FieldManager類從EntryStructure,我收到未找到的錯誤。

守則EntryStructure.php:

namespace Pascall\ICMS\Models; 

use Pascall\ICMS\Models\FieldManager; 

class EntryStructure 
    { 
    function index(){ 
     new FieldManager(); // class not found 
    } 
    } 

守則FieldManager.php:

namespace Pascall\ICMS\Models; 

class FieldManager { 
    //  
} 

爲什麼沒有找到FieldManager類時,它在use聲明中明確提到,他們分享相同的命名空間?

回答

0

如果您的車型目錄遵循PSR-4規格,既你的類的命名應遵循的類文件的路徑,所以它應該是:

namespace Pascall\ICMS\Models\Managers; 

然後,在EntryStructure類,你應該使用:

use Pascall\ICMS\Models\Managers\FieldManager; 
0

你的使用應該是
use Pascall\ICMS\Models\Managers\FieldManager;
代替
use Pascall\ICMS\Models\FieldManager;