在 C# 和 java 世界中,我们习惯于将命名空间精确映射到文件夹结构,并且通常以 com.myCompany 作为前缀。现在我开始处理 PHP 项目重构任务:
- 该项目之前没有使用命名空间。
- 通过使用带有前缀/后缀的长类名,它没有命名冲突。
- 我们使用 spl_autoload_register 它只是在预定义文件夹下搜索文件。
- 除部分模块外,我们不打算将完整的源代码共享给公众以供重用。
- 最重要的是:我们进行重构的资源有限。
以下是我的问题:
- 我应该为所有项目文件使用命名空间,还是只用于我们想要公开的文件,或者根本不使用?
- 如果使用命名空间,是否应该严格映射文件夹结构(这样可以更简单地使用自动加载),还是休闲风格可以?
- 我应该使用 com/myCompany 作为前缀吗?
- 是否有任何不错的工具可以进行这种安全重构?(我使用的是 PHPStorm,但由于某些代码是动态的,因此无法找到所有用法。)
我想平衡最佳方法和重构所需的时间。感谢您在高级方面的帮助。
PS 我已经阅读了https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md。如果我做一个新的 PHP 项目,我肯定会遵循该指南。但是,我正在处理一个现有项目,所以我想知道我从严格使用命名空间中获得的好处是否会大于我花费的成本;如果我可以做出任何权衡,以尽量减少我需要做的改变。