我想衡量人们对使用静态类而不是命名空间的看法。我来自 C++ 背景,非常喜欢它的语法以及它如何让您构建代码。我最近决定需要将我的代码分组为逻辑单元,而不仅仅是文件。例如,我更喜欢像 User::login 这样的调用而不是 user_login。所以,我做了一些谷歌搜索,发现 PHP 有命名空间,我松了一口气。不过我的解脱并没有持续多久,我真的不喜欢这种语法。它给我的函数调用增加了更多的混乱。所以,目前我正在使用静态类来模拟命名空间。这有什么缺点吗?
我在PHP Namespaces vs Classes with static functions中发现了一个类似的问题,但没有太多讨论。
另外,有没有办法避免以下情况:
class Test {
public static void myFunc() {
Test::myOtherFunc();
}
public static void myOtherFunc() {
}
}
我认为可以在不指定名称的情况下调用同一类中的函数,但显然不是。是否有任何解决方法(例如在 C++ 中有 using 关键字)。