如何在单独的命名空间中包含几乎相同的文件(用于调试目的)

时间:2015-02-10 17:55:43

标签: php debugging namespaces include namespace-organisation

我遇到了以下PHP代码问题:

目前我的PHP代码没有使用任何名称空间。我已对包含文件foobarinc.php进行了修改,因此我现在有两个版本foobarinc-v1.php(旧版本)和foobarinc-v2.php(新版本)。包含文件具有一些功能(例如foo()),它们存在于两个文件中。目前foobarinc-v2.php有一些错误,所以我需要使用来自foo()的{​​{1}}调试我的代码(因为至少我知道它有效)但我还需要调用{{1}来自其他地方的fooinc-v1.php。我不想在`foobarinc-v1.php文件中更改任何内容,因为我将需要它,但我愿意在必要时为文件添加命名空间。我可以使用PHP命名空间来实现我的目的吗?

e.g。我想这样做:

main.php:

foo()

如何修复上述代码以实现我的目的?

1 个答案:

答案 0 :(得分:2)

您需要做的是在foobarinc-v1.php命名空间中添加如下内容:

namespace foobarinc1;

foobarinc-v2.php几乎相同:

namespace foobarinc2;

Main.php

include 'foobarinc-v1.php'; 
include 'foobarinc-v2.php';
use foobarinc1;
use foobarinc2;

foobarinc1->foo();
foobarinc2->foo();

你可以在这里找到更多: http://php.net/manual/pl/language.namespaces.php