我正在使用slim framework,composer和psr-4 autoload。
这是作曲家:
"Shorty\\":"app/Shorty"
注意:我也使用"Shorty\\":"app/Shorty/Models"
导演结构:app/Shorty/Models/Trap.php
内部Trap.php
:
namespace Shorty\Models;
use Illuminate\Database\Eloquent\Model as Eloquent;
class Trap{
#code here
}
在我的路线中:
$users=Trap::leftJoin('users', function($join){
我得到:未找到“陷阱”类
我做错了什么?
答案 0 :(得分:0)
如果类名称是正确的,您将不会收到此错误消息:
Class 'Trap' not found
但是这个
Class 'Shorty\Models\Trap' not found
不提及包含它的命名空间的完全限定类名称告诉我,您缺少该类的代码既没有namespace
语句,也没有导入use
,导入这个" Trap"类。
或者更确切地说:
此代码会抱怨丢失了#34; Trap"类。
Trap::leftJoin();
此代码会抱怨缺少" Shorty \ Models \ Trap"类。
\Shorty\Models\Trap::leftJoin();
以及这一个:
use Shorty\Models\Trap;
Trap::leftJoin();
或者这个:
namespace Shorty\Models;
Trap::leftJoin();
当PHP抱怨某个类不存在时,它总是在别名,相对命名空间间接和东西之后显示该类的完全评估的最终名称。