私はいくつかのプロジェクトで同じバージョンのライブラリを使用しています。PHP名前空間エイリアスは競合していますか?
プロジェクトA:
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(B/main.php):
use Ewout\Project_B\Compatibility\Core as CoreX;
は、このOKですか? Project_A\Compatibility\Core
とProject_B\Compatibility\Core
クラスを同じファイルにエイリアスする必要はありませんが、プロジェクトスクリプトは同時にロードできます。グローバルな名前空間にはCoreX
クラスがありません(私のテストから、どちらの問題も起こらないでしょうか?)。
私はPHPをテストしましたが、コンフリクトに関するPHPのエラーはまだありませんでしたが、問題が発生しないことを確認します。
これは矛盾が発生することはありません。しかし、尋ねる前にコードをテストしてください。 – Ad5001
私はこれをテストしました: "私はPHPからの紛争についての不平はまだ見ていませんが、これが問題を引き起こさないことを確かめたいと思います。 – Ewout
ああ、ごめんなさい。しかし、長い間、/ main.phpと/b/main.phpを組み合わせないと、問題はありません。 – Ad5001