Cita: Últimamente me estoy poniendo en serio con POO en PHP5 —hasta hace poco casi todo el código en mis aplicaciones era PHP5 al estilo de PHP4, y quiero que eso cambie—,
Ahora ahora lo que vi no es muy serio
Estaría bueno que vieras otros manuales de POO genéricos y no solo el manual de PHP5, ya que es un manual técnico y de sintaxis, no de programación y conceptos.
Cita: y hoy me ha surgido una duda: ¿Cual es la forma óptima de inicializar una propiedad pública, pero filtrada, de un objeto?
¿Optimizar? ¡Si aún no es funcional!
Pregunta: ¿conoces el principio
KISS? Veo que lo violas constantemente
Lo que intentas hacer debe solucionarse directamente y de forma simple, mi sugerencia personal es que evites los __set y __get de PHP5 que no aportan nada bueno a un diseño POO (en la mayoría de los casos terminan generando el mismo efecto que si fueran atributos públicos), que existan tampoco quiere decir que los debas usar por defecto.
La solución debería ser así:
Código PHP:
class Prueba
{
private $_a;
public function __construct($a)
{
$this->_a = (string)$a;
}
}
Listo, no abuses de las excepciones, solo son para casos "excepcionales", no para cualquier situación.
Sugerencia: lee sobre
getter / setter, todo esto ya está inventado hace mucho tiempo y perder tiempo en reinventar la rueda no es muy productivo.