У меня следующая ситуация:
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
тоже не сработает.Только \
работает.