Укороченная версия:
Как вы получаете интерфейс в глобальное пространство имен в Symfony?
Длинная версия:
Мне нужно для http://php.net/manual/en/jsonserializable.jsonserialize.php однако этот конкретный интерфейс не доступен в PHP 5.3, на котором мы все еще работаем. В ближайшее время мы перейдем на новый сервер, предлагающий 5.7, поэтому я бы предпочел написать правильный код, и просто вставил бы шим, который я могу удалить, когда мы перенесемся.
Я создал интерфейс JsonSerializable, и, если поместить его в обычное пространство имен, он загружается просто отлично. Однако это означает, что каждый документ (использующий doctrine-mongodb), который мне нужно сериализовать, должен быть изменен при портировании. Я бы предпочел поместить его в глобальное пространство имен, чтобы мне не приходилось связываться с моим слоем данных.
Я попытался поместить файл непосредственно в раздел автозагрузки composer.json и не указывал ему пространство имен, но мне это не понравилось.
«Попытка загрузить интерфейс« JsonSerializable »из глобального пространства имен в строке /—path—/Document/AppForm.php 15. Вы забыли оператор использования для этого интерфейса?»
Задача ещё не решена.
Других решений пока нет …