Anuncios

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

Anuncios

Devuelve todas las interfaces que implementa una clase. Veamos como es su sintaxis:

class_implements(clase, autoload);
Anuncios

El primer argumento sera la clase que verificaremos y el segundo argumento es opcional. Este es un valor booleano para indicar si cargaremos o no la clase mediante el metodo autoload. El valor devuelto sera un tipo array con toda la informacion. Para entender el concepto, vamos a analizar un ejemplo simple. Para ello primero crearemos un archivo con el nombre de clases.php y le agregaremos el siguiente codigo:

<?php

interface propia {}

class clases implements propia {}

?>
Anuncios

Primero definimos una interfaz llamada propia. Para luego definir una clase llamada clases donde implementaremos a la interfaz anterior. Para simplificar la visualizacion las dejaremos vacias. Con esto realizado, en el mismo directorio generen otro archivo con el siguiente codigo:

<?php

include('clases.php');

print_r(class_implements(new clases));
print_r(class_implements('clases'));

?>
Anuncios

Primero cargaremos el archivo anterior para poder tener a la clase y la interfaz disponible. Lo siguiente son dos formas de poder pasar la clase para verificacion. En ambos casos, usamos a print_r porque el resultado devuelto es de tipo array. La primera linea es la forma clasica de hacerlo porque crearemos una instancia de esta clase para que lo verifique. El segundo caso se implemento a partir de la version 5.1.8 y nos permite pasarlo como un string o texto. Ejecutemos para ver como es su salida:

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

Como las dos opciones son validas nos devolvio la misma salida. Para entenderlo mejor a este tema, vamos al archivo clases.php y hagamos la siguiente modificacion:

<?php

interface propia {}
interface ajena {}

class clases implements propia, ajena {}

?>
Anuncios

Agregamos una nueva interfaz y esta la agregamos a la implementacion de la clase. Si lo ejecutamos nuevamente nos devolvera esta nueva salida:

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

Como pueden ver se muestra la nueva interfaz, sin necesidad de modificar el codigo de nuestro programa.

Anuncios

En resumen, hoy hemos visto a class_implements, que es, para que sirve, como se utiliza,, y un ejemplo practico para verlo en accion. Espero les haya sido 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