Funciones rn PHP

<?php function dividir($n1, $n2) { $resultado = null; try { if( $n2 == 0 ) throw new Exception("División por cero", 74787); else $resultado = $n1 / $n2; } catch( Exception $e ) { echo "<p>Entramos en 'Exception'</p>"; throw $e; } } //-------------------- try { dividir(4, 0); } catch( Exception $e ) { echo "Ha ocurrido una una Excepción:<br>"; echo "<p>==============================</p>"; echo "Código: ".$e->getCode()."<br/>"; echo "Mensaje: ".$e->getMessage()."<br/>"; echo "Archivo: ".$e->getFile()."<br/>"; echo "Línea: ".$e->getLine()."<br/>"; } ?> Descargar ejemplo, (funcA.php)

Excepciones en PHP

Al contrario que otros lenguajes de programación, a día de hoy la actual
versión de PHP 5.3.0 no reconoce la cláusula finally en un bloque try ... catch().

Crear una función en PHP

El uso de funciones evita que se repita el código fuente del programa, permitiendo una mejor estructuración del programa y facilitando la depuración de errores y el posterior mantenimiento del mismo. Para crear una función en PHP, después de la palabra function escribiremos el nombre de la misma junto con sus parámetros y el resto del código entre llaves, mientras que con return devolvemos el resultado, tal y como puedes ver en el siguiente ejemplo: <?php function multiplicar( $n1, $n2) { return $n1 * $n2; } // Llamamos a la función: $resultado = multiplicar( 22, 3 ); // Mostramos el resultado: echo "El resultado es: ".$resultado; ?> Descargar ejemplo
Si necesitamos comprobar si existe una función en PHP utilizaremos function_exists():
<?php function multiplicar( $n1, $n2) { return $n1 * $n2; } if( function_exists("multiplicar") == true ) echo "La función 'multiplicar()' existe"; else echo "La función 'multiplicar()' NO existe"; ?> Descargar ejemplo
Poner una arroba '@' antes del nombre de una función ocasiona que no se muestren
por pantalla mensajes de aviso o error que se puedan producir.

Incluir código de otro archivo

Mediante las funciones include() e include_once() podemos incluir y evaluar
otro archivo, siendo la diferencia entre ellas que include_once() no volverá
a incluirlo si ya lo había sido. En caso de error devuelven un E_WARNING.
También podemos usar require() y require_once() que son similares a las
anteriores, con la única diferencia de que detienen el script en caso de error.
Nombre del archivo: ( incluirarchivo1.php) <?php require_once("incluirarchivo2.php"); echo "<p>Estamos en el primer archivo</p>"; ?> Nombre del archivo: ( incluirarchivo2.php) <?php echo "<p>Estamos en el segundo archivo</p>"; ?> Redirigir a otra página Para redirigir a otra URL o página web usaremos la función header(),
la cual debe ser llamada antes de enviar cualquier otra información al navegador web.
A continuación te mostramos cómo redirigir a otra URL:
<?php header("Location: http://www.dmdesign.com.ar/"); ?> Descargar ejemplo
En el siguiente ejemplo puedes ver cómo cargar otro archivo de página web:
<?php header("Location: funcC.php"); ?> c

Enviar cabeceras

Aparte de para redirigir a otra página también usaremos header() para enviar
encabezados al navegador web.
En el siguiente ejemplo enviamos encabezados que informan de que será enviado un archivo PDF:
<?php $archivo = "test.pdf"; if( file_exists($archivo) ) { // Cabeceras que indican que enviaremos el PDF y su tamaño: header("Content-type: application/pdf"); header("Content-Disposition: attachment; filename=".$archivo); header("Content-length: ".filesize($archivo)); // Leer y enviar el archivo al navegador web: readfile($archivo); } ?> Descargar ejemplo
Usaremos las función headers_list() para comprobar si se han definido cabeceras,br> y headers_sent() para verificar que efectivamente han sido enviadas
(es posible que no lo sean tras procesarse header() sino que hayan quedado
temporalmente en el buffer de salida). <?php // Enviamos una cabecera: header("Status: 404 Not Found"); // Forzamos que se vacíe el buffer, enviando la cabecera: //flush(); // Mostramos los datos de la cabecera: print_r( headers_list() ); if( headers_sent() == true ) // Comprobamos si se han enviado las cabeceras echo "<p>Se han enviado cabeceras</p>"; else echo "<p>No se han enviado cabeceras</p>"; ?> Descargar ejemplo

Detener un script y controlar la salida

Para forzar la salida de un script utilizaremos la función de PHP exit(),
y mediante register_shutdown_function() es posible indicar una función que
será procesada al finalizar dicho script.
<?php function salida() { echo "<p>Ha terminado el script</p>"; } register_shutdown_function( "salida" ); exit("<p>Forzamos la salida del script</p>"); echo "<p>Esto es una cadena de texto</p>"; ?> Descargar ejemplo