围绕第三方代码改进名称空间的PHP策略

围绕第三方代码改进名称空间的PHP策略,php,namespaces,Php,Namespaces,我试图在一个半开发的web项目中使用第三方PHP库。不幸的是,当我开始使用第三方代码时,我意识到存在许多变量和类名冲突。我很想知道是否存在一种围绕这段新代码改进名称空间的策略 …是的,我也应该为自己没有使用名称空间而承担同样的责任 在我脑海中,我正在考虑编辑每个.php文件并添加: namespace facePalm; 但我很想知道是否有一个更优雅的解决方案。特别是当代码的其他修订版本发布时,我更希望不必触摸和编辑30多个文件。第三方代码是否需要持续维护?如果是这样的话,您将希望围绕它所具有

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

…是的,我也应该为自己没有使用名称空间而承担同样的责任

在我脑海中,我正在考虑编辑每个.php文件并添加:

namespace facePalm;

但我很想知道是否有一个更优雅的解决方案。特别是当代码的其他修订版本发布时,我更希望不必触摸和编辑30多个文件。

第三方代码是否需要持续维护?如果是这样的话,您将希望围绕它所具有的任何结构和约定进行工作。在这种情况下,对您的姓名进行全局搜索和替换是最方便的解决方案。对于仅30个文件,这在一两天内即可管理。如果不这样做,您将很容易每年多老化几年。

仅为一个文件设置名称空间,并且一个文件只能包含一个名称空间。恐怕你没有其他解决办法。
[编辑]我刚刚选中,一个文件可以包含多个名称空间。但是,如果不在文件顶部定义名称空间,文件中就不可能有名称空间。

预计会对其代码进行更新。是的,我以前一直在手动解决任何命名冲突——尽管我现在感觉很脏。本质上,“一两天内可管理”对于这个懒惰的程序员来说太长了。如果第三方代码在没有任何名称空间的情况下工作,那么将其放在名称空间“ThirdParty”中应该与在第三方脚本的每个文件顶部添加“namespace ThirdParty;”一样简单。做一个小脚本,你就赢了…结合你的评论,我发现这是可行的。在我的特定情况下,为每个文件添加一个名称空间就足够了。