Bienvenidos sean a este post, hoy veremos una funcion de PHP.
Devuelve todas las interfaces que implementa una clase. Veamos como es su sintaxis:
class_implements(clase, autoload);
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 {}
?>
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'));
?>
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
)
$
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 {}
?>
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
)
$
Como pueden ver se muestra la nueva interfaz, sin necesidad de modificar el codigo de nuestro programa.
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.


Donatión
It’s for site maintenance, thanks!
$1.50
