rr.*_*rr. 6 php namespaces function php-5.3
我有一些通用的函数,在任何类中都没有真正有意义的静态方法.我想将它们封装在命名空间下,这样就不会与全局范围中定义的函数发生冲突.对于我的命名空间类,我遵循广泛采用的模式,其中诸如\ My\Namespaced\MyClass的类存在于包含路径上的My/Namespaced/MyClass.php中.
是否应该放置命名空间函数的最佳实践?现在我将它们放在同一名称空间下保存类的目录中的"functions.php"中.例如\ My/Namespaced\myFunction存在于My/Namespaced/functions.php中.
此外,有没有办法以类自动加载的方式自动加载这些功能?
此外,有没有办法以类自动加载的方式自动加载这些功能?
不适用于全球功能,但如果......
是否应该放置命名空间函数的最佳实践?
我会考虑使用对象而不是"最佳实践",但我们都知道它并非完全正确.
全局函数没有自动加载,您可以将函数作为静态函数封装到类中,然后自动加载器将开始运行.所以这可能是一个建议,但是你应该清楚这些静态函数对你的整体设计的影响.
所以说:如果你对全局函数没问题,那么你可能对全局静态类函数没问题.如果你更改了一个类的名称(比如使用任何全局函数名),它们就会中断,但是你创建了一些可以自动加载并与你的文件命名方案兼容的东西.
编辑:当我写全局时,我的意思是一个函数的完全限定名称,就是那个开头的\
.请参阅名称解析规则文档 .