在大多数小型项目和教程中,我没有看到命名空间的使用,但它们存在,例如,Laravel框架中的任何地方。我的问题是:我是否应该总是使用命名空间,或者是否有某种“算法”来评估我是否需要它们?
答案 0 :(得分:2)
命名空间的主要目标是防止名称冲突,而不是用于对类,方法进行分组。正如您所提到的,Laravel项目中有很多类,因此必须使用名称空间来防止大项目中发生的冲突。
您可以根据需要“嵌套”命名空间,这通常与您的文件夹结构配对,如果您使用的是 PSR-4 自动加载标准,则相关laravel使用。
例如,您可以使用用户类(模型)和用户类(存储库)。将它们置于
之下命名空间模型
和
命名空间存储库
对你,PHP和自动加载器都很有意义。