Supongo que poco a poco iré añadiendo más funciones ( a medida que las descubra). Ahora van las primeras funciones:
- class_exists (clase): Si clase está definida devuelve TRUE, en caso contrario devuelve FALSE.
- get_declared_clases(): Devuelve un array numérico con las clases que están disponibles en el script, las nativas de PHP y las definidas por el usuario.
- get_class (obj): Para el objeto ($obj), devuelve el nombre de la clase de la que es una instancia.
- get-parent_classs (objeto o clase): Devuelve el nombre de la superclase de la que está derivado el objeto o la clase pasada como parámetro.
- get_class_vars (clase), get_objeto_vars(objeto): Devuelve un array asociativo con las propiedades (públicas) de que dispone la clase (o el objeto), respectivamente.
- get_class_methods (clase): Devuelve un array numérico con el nombre de los métodos de los que dispone la clase.
- Operador instanceof: $obj instanceof nombre_clase. Si la variable $obj es un ejemplar de la clase nombre_clase, devuelve TRUE en caso contrario devuelve FALSE. Instanceof no es una función, sino que es un operador que tiene operandos a ambos lados.
- Constante __METHOD__: Cuando se usa desde dentro de un método devuelve el nombre de la clase y el método desde el que está ejecutando. Si se usa en una función, devuelve el nombre de ésta.
Excepciones en PHP:
PHP 5 incorpora mecanismos para la gestión de excepciones. Para ello, provee la estructura de control try/catch, que tiene el siguiente aspecto:
try{
//código a evaluar
}catch{
//código para tratar el error producido
}
Si dentro del bloque try detectamos cualquier anomalía, generamos una excepción (con la palabra reservada throw), gracias a la cual, el flujo del programa saldrá de este bloque para saltar a ejecutar las sentencias del bloque catch. Se pretende que el código sea más legible, en lugar de controlar los errores en cada línea donde pueda producirse un error, los juntamos y separamos del flujo normal de la aplicación.
La gestión de las excepciones se suele ver dentro de la POO puesto que se basa en una clase nativa de PHP5; Exception. De echo, la sentencia throw sólo permite objetos de esta clase, o derivados de ella. El contructor de Exception admite hasta dos parámetros: una cadena de caracteres (que describiría el error) y un número entero (asignado por nosotros que se correspondería con un código de error).
Los métodos que podemos utilizar son:
- getMessage(): Devuelve la cadena de caracteres pasada como primer parámetro al constructor.
- getCode(): Devuelve el número entero pasado como segundo parámetro al constructor.
- getLine(): Devuelve el número de la línea de código en que ocurrió la excepción.
- getFile(): Devuelve el nombre del script en que ocurrió la excepción.
- getTrace(): Devuelve un array con información sobre los puntos donde han ocurrido excepciones.
- getTraceAsString(): Igual que el anterior pero en forma de cadena de caracteres.