我正在维护为PHP 5.2编写的库,我想创建它的PHP 5.3命名空间版本.但是,我还会保留非命名空间版本,直到PHP 5.3变得如此陈旧,即使是Debian stable也可以发布它;)
我有相当干净的代码,大约80个类遵循Project_Directory_Filename命名方案(我\Project\Directory\Filename当然会改变它们)和只有少数函数和常量(也以项目名称为前缀).
问题是:并行开发命名空间和非命名空间版本的最佳方法是什么?
我应该只在存储库中创建fork并继续在分支之间合并更改吗?是否存在反斜杠代码难以合并的情况?
我应该编写将5.2版本转换为5.3版本的脚本,反之亦然吗?我应该使用PHP tokenizer吗?sed?C预处理器?
有没有更好的方法在可用的地方使用命名空间并保持与旧PHP的向后兼容性?
更新:毕竟决定不使用命名空间.
我正在使用带有PDT 2.2的Eclipse 3.6(Helios),并且在尝试"使用"命名空间时遇到语法错误.
有什么我可以做的来解决这个问题吗?
例:
use Tables\Exceptions\Exception as Exception;
Run Code Online (Sandbox Code Playgroud)
PHP Parser将"Tables"识别为此行的语法错误,而其他人则喜欢它.