В моем проекте Laravel и Lumen устанавливаются одним composer.json. Laravel для веб-проекта, Lumen для API, оба из которых являются частью одного и того же «проекта».
Итак, в папке vendor у меня есть следующие файлы:
поставщик / laravel / framework / src / Illuminate / Foundation / Support / Providers / EventServiceProvider.php
а также
поставщик / laravel / lumen-framework / src / Foundation / Support / Providers / EventServiceProvider.php
Теперь оба они используют одно и то же пространство имен:
Освещение \ Фонд \ Поддержка \ Провайдеры \ EventServiceProvider
На одном из наших занятий я делаю:
use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider;
Проблема в том, что оба пакета в папке vendor используют это пространство имен, но файлы и методы в файлах разные.
Есть ли способ явно указать, какую версию пространства имен мы используем? Или добавить к одному из них псевдоним?
Очевидно, я не могу изменить пакеты, потому что «обновление композитора» переопределит их.
Любые идеи приветствуются. Спасибо
use
относится к файлу, в котором она отображается, поэтому я не уверен, что могу понять, в чем проблема. Вы можете объяснить, как проявляется эта проблема - вы получаете ошибку? Когда вы говорите это пространство имен, вы имеете в видуIlluminate\Foundation\Support\Providers\EventServiceProvider
? Если так, только один пакет будет использовать это - это точка пространств имен. - person halfer   schedule 04.08.2015