Composer autoload-psr4 Класс не найден в другом пространстве имен - PullRequest
0 голосов
/ 08 февраля 2019

У меня следующая ситуация:

1) В моем проекте мои пользовательские классы находятся в папке /classes

2) Я автоматически загружаю vendor/pear/xmlserializer lib с помощью composer (PSR).-4)

"autoload": {
"psr-4": {
"XML\\": ["vendor/pear/pear-core-minimal","vendor/pear/xml_serializer"]
         }
        }

3) Внутри файла /classes/myCustomClass.php у меня есть

namespace Classes;
use XML\XML_Serializer;
class myCustomClass {

   public function myFunction(){
      $obj = new XML_Serializer();
      return $obj;
   }

}

Когда я запускаю программу, я получаю

PHP Fatal error: Class 'XML\\XML_Serializer' not found

Почемуон не может найти класс?

PS: пространство имен XML объявлено в файле, содержащем XML_Serializer класс

Редактировать: я понял, если я не загружу класс XML_SerializerЯ могу получить к нему доступ непосредственно из myCustomClass, добавив перед ним косую черту.По умолчанию используется psr0 'XML' => array($vendorDir . '/pear/xml_parser', $vendorDir . '/pear/xml_serializer').Как-то use XML тоже не сработает.Только \ работает.

...