gpt4 book ai didi

重构期间的 PHP 命名空间最佳实践?

转载 作者:行者123 更新时间:2023-12-04 16:52:48 26 4
gpt4 key购买 nike

在 C# 和 java 世界中,我们习惯于将命名空间精确映射到文件夹结构,通常以 com.myCompany 作为前缀。
现在我开始处理 PHP 项目重构任务:

  • 该项目之前没有使用命名空间。
  • 通过使用带有前缀/后缀的长类名,它不会发生命名冲突。
  • 我们使用 spl_autoload_register,它只是在预定义文件夹下搜索文件。
  • 除部分模块外,我们不打算将完整的源代码共享给公众以供重用。
  • 最重要的是:我们进行重构的资源有限。

  • 以下是我的问题:
  • 我应该为所有项目文件使用命名空间,还是只用于
    那些我们想要公开的,或者根本不使用的?
  • 如果使用命名空间,是否应该严格映射文件夹结构(这样可以更简单地使用自动加载),还是随意的风格都可以?
  • 我应该使用 com/myCompany 作为前缀吗?
  • 如果有任何好的工具可以进行这种安全的重构? (我正在使用 PHPStorm 但它无法找到所有用法,因为某些代码是
    动态。)

  • 我想平衡最佳方法和重构所需的时间。感谢您在高级方面的帮助。

    附言我已阅读 https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md .如果我做一个新的 PHP 项目,我肯定会遵循指南。但是,我正在处理一个现有的项目,所以我想知道我从严格使用命名空间中获得的好处是否会大于我花费的成本;如果我可以做出任何权衡,以尽量减少我需要做的更改。

    最佳答案

    如果您重组文件以符合 PSR-0 标准,它将使您的生活更轻松。请注意,该标准不会强制您使用 namespace 。如果您根据类名知道文件的位置,则加载速度将比需要搜索文件快。

    命名空间可能会使编码生活更轻松一些,因为类名更短。如果您导入任何其他外部代码(有很多有用的库),您将避免与您的类发生任何名称冲突。但它们不是终极的 Elixir ,因此如果您认为没有它们会浪费时间,您也可以生活。

    关于重构期间的 PHP 命名空间最佳实践?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19535430/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com