Cita:
Iniciado por Volrath Hola, en cuanto a tu primer punto, no estoy seguro de porque dices q no es recomendable que el atributo sea publico, en mi caso en particular, yo no lo utilizo como publico sino como protected. Pero me gustaria saber porque piensas que no es recomendable que el atributo sea publico
Primero, en todos los ejemplos que nos muestras usas un atributo público, por consiguiente
"no me puedo equivocar".
Código PHP:
public static $class_name;
Segundo, como principio general y básico de la POO, no se usan nunca atributos públicos, a lo sumo, métodos "getters y setters" (no lo digo yo).
Cita:
Iniciado por Volrath En cuanto al segundo, creo que como no di un contexto amplio de que es lo que estoy implementando te confundiste y piensas que no existe caso practico de interes.
Voy a colocar un escenario corto (no mi escenario particular) en el cual es util: Estas construyendo un ORM, Sigues la convencion de que las clases se llamaran igual que las relaciones.
Nuevamente, subestimas el poder de la fuerz... digo, de mi entendimiento
. Son muy pocos los casos que puedas verdaderamente necesitar saber la clase, un caso *muy* particular es hacer un ORM, pero para el resto *generalmente* es una mala decisión de diseño atarte a preguntar
"cual es la clase que estoy procesando" y no hacer algo genérico (buscar en Google
patrón de diseño abierto cerrado).
¿Por qué? Por principios básicos de diseño POO, porque no utilizas el
"patrón estratégico más importante de la POO" que es el Polimorfismo.
Recomendación: busca material en Google sobre
"Liskov herencia de clases y principio de sustitución".
PD: hay un principio que dice
"si me cambias de contexto, tengo que cambiar de solución"; si planteas algo, te responderemos en base a ese planteo, pero si luego nos dices
"que tu contexto es otro", no pidas que la misma respuesta sirva para algo que ni siquiera nos lo presentas.
Esto no es una competencia de "quién sabe más" y tú no estás en evidencia por "no saber" (no hace falta que te defiendas) pero respeta el tiempo de los demás que buscan darte una mano, por lo menos habla claro y sé franco.