Sobrecarga en PHP 4.x
Una de las cosas que mas extraño a la hora de desarrollar en PHP es poder Sobrecargar métodos. Dado que PHP no lo soporta, al menos en sus versiones 4.x.
La sobrecarga es la habilidad que tienen muchos lenguajes OOP para poder definir varios métodos con el mismo nombre pero con diferentes números/tipos de parámetros. De esta manera se ejecuta uno u otro dependiendo la cantidad y los tipos de parámetros pasados.
Sin embargo podemos recurrir a un pequeño truco para poder sobrecargar métodos dependiendo el número de parámetros. La sobrecarga por tipos de datos no se puede hacer dado que no hay tipos de datos en PHP.
class MiClase {
function MiClase() {
$nombre="MiClase".func_num_args();
$this->$nombre();
}
function MiClase1($x) {
//código;
}
function MiClase2($x,$y) {
//código;
}
}
De esta manera, con func_num_args() obtenemos el numero de parámetros pasados al constructor de MiClase, y en base a ese valor generamos el nombre de la función a llamar en $nombre. Fácil, no? ;)
Posted: March 26th, 2007 | Author: lichi | Filed under: development, php | Tags: development, php | No Comments »







Leave a Reply