Загрузчик классов Symfony2 не работает, если путь не соответствует структуре папок? - PullRequest
0 голосов
/ 13 января 2012

Вот моя текущая структура

плагины /

| --- init.php

| --- / plugin1 / Библиотека /

| --- / plugin2 / Библиотека /

| --- / Symfony /

У меня есть такой код:

set_include_path(DIR_FS_CATALOG.'plugins');

require_once(DIR_FS_CATALOG.'plugins/Symfony/Component/ClassLoader/UniversalClassLoader.php');

// load the class loader and dependency injection component
$loader = new Symfony\Component\ClassLoader\UniversalClassLoader();

$loader->registerNamespaces(array('plugins\\plugin1'  => __DIR__.'/plugins/plugin1/lib', 'plugins' => DIR_FS_CATALOG.'plugins'));
$loader->registerNamespace('Symfony',__DIR__.'/plugins');

$loader->register();


use plugins\plugin1\MyClass;

MyClass::init();

Неустранимая ошибка: класс 'plugins \ plugin1 \ MyClass' не найден

Интересно, что я сделал не так? Любая помощь будет высоко ценится.

1 Ответ

1 голос
/ 13 января 2012

Загрузчик классов Symfony2 совместим с PSR-0 (https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md), что означает, что ваши пространства имен должны отражать структуру вашей файловой системы.

...