А вам не кажется, что давая неймспейсу название "api", вы делаете прямо противоположное тому, для чего эти неймспейсы были созданы? Ведь изначально - это инструмент избавления от конфликтов имён классов. Суть его в том, что вы даёте более-менее уникальное название корневому пакету, и можете давать более простые и менее уникальные названия классам внутри него. А у вас корневой пакет назван абстрактнее некуда...
Дима Петров: нет. Я не знаю почему у вас не работает именно с этим названием пространства имён. Может быть это ключевое слово композера, может быть и правда уже есть такой пакет.
Я лишь говорю, что само по себе использование такого общего слова как "api" концептуально неправильно, и рано или поздно создаст проблему.