assert

(PHP 4, PHP 5)

assert -- Revisa si la aserción es evaluada a FALSE

Descripción

bool assert ( mixed asercion )

assert() revisará la asercion dada y tomará una acción apropiada si su resultado es FALSE.

Si la asercion es dada como una cadena, ésta será evaluada como código PHP por assert(). Las ventajas de una asercion tipo cadena son menor sobrecarga cuando el chequeo de aserciones se encuentre deshabilitado, y la producción de mensajes que contengan la expresión asercion cuando ésta falle. Esto quiere decir que si pasa una condición booleana como asercion, ésta condición no aparecerá como parámetro de la función de aserción, la cual pudo haber definido con la función assert_options(), la condición es convertida en una cadena antes de llamar tal función gestora, y el valor booleano FALSE es convertido como una cadena vacía.

Las aserciones deben ser usadas como una característica de depuración únicamente. Puede usarlas para realizar chequeos de integridad que prueben condiciones que deberían ser siempre TRUE y que indiquen algunos errores de programación si no se cumplen, o que chequeen por la presencia de ciertas características como las funciones de extensión, o ciertos límites y características de sistema.

Las aserciones no deberían ser usadas para operaciones normales de tiempo de ejecución como chequeos de parámetros de entrada. Como regla de oro, su código debería trabajar correctamente siempre si el chequeo de aserciones no está activado.

El comportamiento de assert() puede ser configurado por assert_options() o mediante los parámetros .ini descritos en su respectiva página del manual.

La función assert_options() o la directiva de configuración ASSERT_CALLBACK permiten el uso de llamadas de retorno para gestionar las aserciones fallidas.

Las llamadas de retorno de assert() son particularmente útiles para productos que prueben procesos automatizados de generación, ya que le permitin capturar fácilmente el código pasado a la aserción, junto con información sobre dónde se creó la aserción. Aunque esta información puede ser capturada mediante otros métodos, ¡el uso de aserciones lo hace mucho más rápido y sencillo!

La llamada de retorno debe aceptar tres argumentos. El primer argumento contendrá el archivo en el que ha fallado la aserción. El segundo argumento contendrá la línea en la que falló la aserción, y el tercer argumento contendrá la expresión que falló (si está disponible - valores literales como 1 o "dos" no serán pasados a través de este argumento).

Ejemplo 1. Gestionar una aserción fallida con una función personalizada

<?php
// Activar las aserciones y hacerlas calladas
assert_options(ASSERT_ACTIVE, 1);
assert_options(ASSERT_WARNING, 0);
assert_options(ASSERT_QUIET_EVAL, 1);

// Crear una funcion gestora
function mi_gestor_de_asercion($archivo, $linea, $codigo)
{
    echo
"<hr>Aserci&oacute;n Fallida:
        Archivo '$archivo'<br />
        Linea   '$linea'<br />
        Codigo  '$codigo'<br /><hr />"
;
}

// Configurar la llamada de retorno
assert_options(ASSERT_CALLBACK, 'mi_gestor_de_asercion');

// Crear una aserci&oacute;n que deber&iacute;a fallar
assert('mysql_query ("")');
?>

Hosting by: hurra.com
Generated: 2007-01-26 18:00:55