2009-11-30 62 views
0

我试图在半开发的Web项目中使用第三方PHP库。不幸的是,当我开始使用第三方代码时,我意识到存在大量的变量和类名冲突。我很想知道是否有策略来改进这个新代码的命名空间。围绕第三方代码改进名称空间的PHP策略

...是的,有同样的责任被传递给我自己不利用名称空间,以及

关闭我的头顶,我正在考虑修改每一个PHP文件,并补充说:

namespace facePalm; 

不过我很好奇,想知道是否有正好是一个更好的解决方案。特别是随着代码的额外修订版本的发布,我宁愿不必触摸编辑30多个文件的&。

回答

1

命名空间仅设置为一个文件,并且文件只能包含1个命名空间。恐怕你没有其他解决方案来做到这一点。 我刚刚检查过一个文件可以包含多个命名空间。但是,如果不在文件顶部定义文件,则不能在文件中包含名称空间。

+0

...结合您的评论,我发现这个工作。在我的特定情况下,向每个文件添加名称空间已足够。 – crftr 2009-12-02 20:44:45

0

第三方代码是否需要进行维护?如果是这样,你会想要解决它所具有的任何结构和约定。在这种情况下,进行全球搜索并替换您的名字是最方便的解决方案。只有30个文件,这可以在一两天内处理。如果你不这样做,你会很容易年龄再增加几年。

+0

预计他们的代码更新。是的,我以前一直手动解决命名冲突 - 虽然我现在感觉很脏。实质上,对于这个懒惰的编码器来说,“一到两天就可以管理”太长了。 – crftr 2009-12-01 00:02:36

+2

如果第三方代码在没有任何名称空间的情况下工作,将其放入命名空间“ThirdParty”中应该与添加“命名空间ThirdParty;”一样简单在第三方脚本的每个文件的顶部。为它做一个小脚本,你赢了。 – Savageman 2009-12-01 00:09:16