Mustache_Engine 未加载,设置命名空间导致冲突?

Mustache_Engine not loading, conflict due to setting namespace?

下面的代码是我试图将 Mustache 加载到 Composer 库中(这意味着库本身也由整个项目的 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

我怀疑这是因为我在 class 中设置了一个命名空间,但我不确定如何修复它。错误本身是它无法在 SiteEngine 文件夹中找到 Class Mustache_Engine。自动加载器本身加载得很好。

有什么想法吗?谢谢

问题是我从本地定义的命名空间而不是全局命名空间加载 Mustache_Engine。要从全局命名空间加载,我必须在 Mustache_Engine 前面放置一个 \,如下所示:

$m = new \Mustache_Engine;