Estoy queriendo medir las opiniones de las personas sobre el uso de clases estáticas en lugar de espacios de nombres. Vengo de un fondo de C++ y soy muy aficionado a su sintaxis y cómo te permite estructurar el código. Recientemente decidí que necesitaba agrupar mi código en unidades lógicas en lugar de solo archivos. Por ejemplo, prefiero llamadas como User :: login to user_login. Entonces, hice un poco de googlear y me alivió descubrir que PHP tiene espacios de nombres. Mi alivio no duró mucho, realmente no me gusta la sintaxis; agrega más desorden a mis llamadas de función. Entonces, en este momento estoy usando clases estáticas para simular espacios de nombres. ¿Hay algún inconveniente en esto?PHP Static Class o Namespace
Encontré una pregunta similar en PHP Namespaces vs Classes with static functions pero no hubo mucha discusión.
Además, ¿hay una manera de evitar la siguiente situación:
class Test {
public static void myFunc() {
Test::myOtherFunc();
}
public static void myOtherFunc() {
}
}
Supuse que estaría bien para llamar a funciones en la misma clase sin especificar el nombre, pero al parecer no. ¿Hay alguna solución para eso (por ejemplo, en C++ existe la palabra clave using)?
'self ::' y '$ this->' se utilizan en PHP para llamar a sus propios métodos estáticos y de instancia, respectivamente. –
Entonces, ¿no hay forma de que la calificación sea implícita? es decir, para verificar la clase actual de una función? – user1520427
No, pero me parece explícito que es algo bueno :) –