Anuncios

Bienvenidos sean a este post, hoy veremos una funcion de PHP.

Anuncios

Esta funcion nos permite de quien son herederas una clase. Veamos como es su sintaxis:

class_parents(clase, autoload);
Anuncios

El primer parametro sera la clase que investigaremos, y el segundo es para indicarle si debe cargar o no automaticamente la clase en caso de no encontrarlo. Esta funcion devuelve un array indicando cuales son todos sus parientes. Para entender el concepto, vamos a analizar un ejemplo:

<?php

class madre {}
class hija extends madre {}

print_r(class_parents(new hija));
print_r(class_parents('hija'));

?>
Anuncios
Anuncios

Primero definimos una clase llamada madre y luego creamos otra llamada hija para hacerla heredera de la anterior. Como devuelve un valor de tipo array utilizamos a print_r. Para ver como trabaja utilizamos las dos formas de aplicarlo. En el primer caso, es la forma clasica donde creamos una instancia de la clase hija. Pero a partir de la version 5.1.8 podemos pasar un texto con el nombre de la clase a investigar. Con esto comentado, ejecutemos para ver como es la salida:

$ php clase.php
Array
(
    [madre] => madre
)
Array
(
    [madre] => madre
)
$
Anuncios

Como pueden ver las salidas son iguales porque la clase es heredera de la anterior y solo lo hicimos para ver las dos posibilidades. Tomemos el codigo anterior y hagamos el siguiente cambio:

<?php

class madre {}
class hija extends madre {}
class nieta extends hija {}

print_r(class_parents(new hija));
print_r(class_parents('nieta'));

?>
Anuncios

Hicimos dos cambios. El primero sera el agregado de una nueva clase llamada nieta, la cual sera heredera de hija. Y ahora pasamos a la nueva clase para ver a sus parientes. Ejecutemos para ver como es la nueva salida:

$ php clase.php
Array
(
    [madre] => madre
)
Array
(
    [hija] => hija
    [madre] => madre
)
$
Anuncios

Vean como en la primera clase solo somos herederos de la clase madre. Pero en la nueva clase somos herederos de la clase hija y madre. Esto es asi porque al ser herederos de hija tambien lo seremos de madre. A medida que las clases sean mas herederas de otras, se agregaran al array.

Anuncios

En resumen, hoy hemos visto a class_parents, que es, para que sirve, como se utiliza, y un ejemplo practico para verlo en accion. Espero les haya resultado de utilidad sigueme en tumblr, Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.

Anuncios

Donatión

It’s for site maintenance, thanks!

$1.50