我在我的 Laravel 4 包之一中加载类时遇到问题。我收到常见的“找不到类”错误,当composer.json
没有正确的命名空间路径映射时会发生这种错误。我已尝试将所有内容添加到composer.json
文件中,但似乎没有任何效果,not psr-0
, nor classmap
, nor files
。但是,如果我在声明新对象时尝试使用类的完整路径:
$foo=new Myvendor\Mypackage\Domain\Models\Mymodel;
它工作得很好。但是,我不想在每次需要对象时都声明整个路径。具有完整文件路径的类有效的事实表明我已经非常接近解决方案了。
编辑:一些代码
我的班级,位于:src\Myvendor\Mypackage\Domain\Models\Complainant.php
相对于包根目录
<?php namespace Myvendor\Mypackage\Domain\Models;
class Complainant {
public $fname;
public $lname;
}
我的composer.json
文件的一部分:
"autoload": {
"psr-0": {
"Myvendor\\Mypackage": "src/"
}
},
此代码不起作用:
$var=new Complainant;
虽然以下内容:
$c=new Myvendor\Mypackage\Domain\Models\Complainant;