Mustache_Engine не загружается, конфликт из-за установки пространства имен?

Приведенный ниже код — это я пытаюсь загрузить 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

Я подозреваю, что это из-за того, что я установил пространство имен в классе, но я не уверен, как это исправить. Сама ошибка в том, что он не может найти Class Mustache_Engine в папке SiteEngine. Сам автозагрузчик загружается просто отлично.

Есть идеи? Благодарю.

0

Решение

Проблема заключалась в том, что я загружал Mustache_Engine из локально определенного пространства имен, а не из глобального пространства имен. Для загрузки из глобального пространства имен мне пришлось поместить \ infront из Mustache_Engine, например так:

$m = new \Mustache_Engine;
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]