ojr*_*ask 7 php architecture namespaces function
我们都知道,命名空间应用程序代码是最佳实践和PSR建议.PSR采取立场的唯一方法是在功能及其声明方面的空白和副作用.
但是与任何单个类无关的函数呢?它们应该是命名空间还是留在全局命名空间中?
一些开发人员说命名空间函数是不好的做法,但我无法理解为什么.
从我学习/阅读和推荐的有关命名空间功能的内容:
是否有全局功能的最佳实践和命名空间?目前我使用应用程序根命名空间用于全局应用程序相关的函数,但我一直在想为什么有些人强烈认为在对象(类,接口,特征等)之外不应该发生命名空间?
命名空间是一个允许您在较小规模的构造上强加结构的概念.使用命名空间,您可以将所有内容放在一起.这些东西是类还是函数都没关系.如果你有一个只与两个或三个特定类一起使用的自由函数,我肯定会把这个函数放在与类相同的命名空间中.
您是否想要使用免费功能是一个不同的问题.许多OO语言(如Java和C#)都不支持它们.但是有些情况下函数不适合类.在这些情况下,我更喜欢创建自由函数(在适当的命名空间中).
话虽这么说,我很确定你也会在SO上得到YES和NO答案.因此,与您的团队讨论,并制定指南.