Opciones/Información PHP
PHP Manual

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 , esta 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).

Lista de parámetros

asercion

La aserción.

Valores retornados

FALSE si la aserción es falsa, TRUE de lo contrario.

Ejemplos

Example#1 Gestionar una aserción fallida con una función personalizada

<?php
// Activar las aserciones y hacerlas silenciosas
assert_options(ASSERT_ACTIVE1);
assert_options(ASSERT_WARNING0);
assert_options(ASSERT_QUIET_EVAL1);

// Crear una función gestora
function mi_gestor_de_asercion($archivo$linea$codigo)
{
    echo 
"<hr>Aserción Fallida:
        Archivo '$archivo'<br />
        Línea   '$linea'<br />
        Código  '$codigo'<br /><hr />"
;
}

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

// Crear una aserción que debería fallar
assert('mysql_query ("")');
?>


Opciones/Información PHP
PHP Manual