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;
下面的代码是我试图将 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;