我试图通过在子目录中放置模型和控制器来更好地组织我的应用程序。我认为只要名称空间是正确的,它们是否在子目录中并不重要,但是现在我已经移动了它们,我得到了一个未找到的错误类。
我已经尝试过运行composer dumpautoload几次了,但仍然无法工作。
这是我的目录结构:
由于我已经创建了新的目录管理器并将这两个模型移到其中,所以当我从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语句中显式引用并且它们共享相同的名称空间时,为什么不查找它呢?
发布于 2016-07-23 21:33:51
如果您的模型目录遵循PSR-4规范,那么两个类中的命名空间都应该遵循类文件路径,因此应该是:
namespace Pascall\ICMS\Models\Managers;然后,在EntryStructure类中,您应该使用:
use Pascall\ICMS\Models\Managers\FieldManager;https://stackoverflow.com/questions/38546578
复制相似问题