下面的代码是我试图将Mustache加载到Composer库中(这意味着库本身也是由整个项目的作曲家加载的)我正在制作一个项目。
<?php
namespace TradeDefender\SiteEngine;
require '../../vendor/autoload.php';
class MessageEngine{
function test(){
$m = new Mustache_Engine;
return "hello";
}
}
?>
库本身的目录结构如下所示:
.
├── lib
│ └── TradeDefender
│ ├── Api
│ ├── Conn
│ └── SiteEngine
└── vendor
├── composer
└── mustache
我怀疑是因为我在课堂上设置了一个名称空间,但我不确定如何修复它。错误本身是它无法在SiteEngine文件夹中找到Class Mustache_Engine。自动加载器本身正在加载正常。
有什么想法吗?感谢。
答案 0 :(得分:0)
问题是我从本地定义的命名空间而不是全局命名空间加载Mustache_Engine。要从全局命名空间加载,我必须放置一个前面的Mustache_Engine,如下所示:
$m = new \Mustache_Engine;