多年来,我公司创建了一个模块化PHP框架,早在PHP 5.3添加名称空间之前就已经开始。最近,我们决定开始在库的新代码中使用名称空间,并且我们最终打算在旧代码中使用名称空间。但是,我们有一些问题正在尝试解决,以确定是否将名称空间添加到v5.3之前的代码库中不是一个好主意:
- 我可以为一个类命名空间,也可以导入(使用)全局命名空间,以便所有全局类都不需要
\
前缀吗? - 如果我们在库中为现有类命名空间,那么如何在框架升级后防止所有现有项目中断?例如,库可以将class的名称更改
ThemeEngine
为\module\theme\ThemeEngine
,但现有网站ThemeEngine
无需任何代码修改即可调用吗?如果是这样,该代码将是什么样?