次の PHP コードの問題に直面しています。
現時点では、私の PHP コードは名前空間を使用していません。インクルード ファイルに変更を加えたfoobarinc.php
ので、foobarinc-v1.php
(古いバージョン) とfoobarinc-v2.php
(新しいバージョン) の 2 つのバージョンができました。foo()
インクルード ファイルには、両方のファイルに存在するいくつかの関数 (たとえば) があります。現時点でfoobarinc-v2.php
はいくつかのバグがあるため、foo()
fromを使用してコードをデバッグする必要がありますfooinc-v1.php
(少なくとも動作することがわかっているため) が、他の場所でfoo()
fromを呼び出す必要もあります。foobarinc-v2.php
`foobarinc-v1.php ファイルはそのまま必要になるため、何も変更したくありませんが、必要に応じて名前空間をファイルに追加したいと考えています。目的を達成するために PHP 名前空間を使用できますか?
たとえば、私はやりたい:
main.php:
include("includes/foobarinc-v2.php");
function main() {
hello(); // from main.php
namespace myDebugNameSpace {
include("includes/foobarinc-v2.php");
$a = foo(); // foo() version 2
outerNameSpace::bar($a); // bar() version 1
}
world(); // from main.php
foo(); // foo() version 1
}
main();
上記のコードを修正して目的を達成するにはどうすればよいですか?