Estoy buscando una manera de llamar a un constructor de la clase padre de auto-mágicamente de una clase hija (?):Cómo Autorun construcción en la clase padre sin llamada de clase hija
(Nota: Este es sólo un ejemplo, por lo que los errores de escritura puede estar presente)
Class myParent()
{
protected $html;
function __construct($args)
{
$this->html = $this->set_html($args);
}
protected function set_html($args)
{
if ($args['foo'] === 'bar')
$args['foo'] = 'foobar';
return $args;
}
}
Class myChild extends myParent
{
public function do_stuff($args)
{
return $this->html;
}
}
Class myInit
{
public function __construct($args)
{
$this->get_stuff($args);
}
public function get_stuff($args)
{
$my_child = new myChild();
print_r($my_child->do_stuff($args));
}
}
$args = array('foo' => 'bar, 'what' => 'ever');
new myInit($args);
// Should Output:
/* Array('foo' => 'foobar', 'what' => 'ever') */
Lo que quiero evitar es tener que llamar al (dentro de la clase Mi hijo) __construct($args) { parent::__construct($args); }
.
Pregunta: ¿Es esto posible? ¿Si es así, cómo?
Gracias!
¿Por qué te opones a llamar 'parent :: __ construct()'? – cspray
Me gustaría que PHP también escriba mágicamente mi aplicación. –
@Wesley van Opdorp Por favor, vea la solución. Funciona para mi. @Charles Sprayberry Obtuve una clase base que se amplía por un número desconocido de clases secundarias y, por lo tanto, tengo que ejecutar un procedimiento estándar para todos los argumentos de entrada (como eliminar entradas no válidas, analizar los valores predeterminados, etc.) – kaiser