Я использую разные версии подобной библиотеки для нескольких проектов. Библиотеки в пространстве имен, как это:Псевдоним псевдонима пространства PHP?
Проект А:
namespace Ewout\Project_A\Compatibility;
Class Core {}
Проект B:
namespace Ewout\Project_B\Compatibility;
Class Core {}
... и т.д.
Чтобы избежать использования полного пространства имен везде, я их псевдоним в файлах PHP проекта:
Проект A (a/main.php):
use Ewout\Project_A\Compatibility\Core as CoreX;
Проект B (б/main.php):
use Ewout\Project_B\Compatibility\Core as CoreX;
ли это нормально? Скрипты проекта могут загружаться одновременно, хотя мне никогда не понадобится псевдоним классов Project_A\Compatibility\Core
и Project_B\Compatibility\Core
в том же файле. В глобальном пространстве имен нет класса CoreX
(из моих тестов это похоже на то, что это не вызовет никаких проблем?).
Я тестировал и не видел никаких ошибок из PHP, жалующихся на конфликты, но хочу убедиться, что это не вызовет проблем в будущем.
Это не вызовет каких-либо конфликтов. Но проверьте свой код, прежде чем спрашивать. – Ad5001
Я проверил это: «Я еще не видел ошибок PHP, жалующихся на конфликты, но хочу убедиться, что это не вызовет проблем в будущем». – Ewout
О, извините, не видел. Но длинный а вы не комбинируете/main.php и /b/main.php, проблем не возникнет. – Ad5001