Delicious Bookmark this on Delicious Share on Facebook SlashdotSlashdot It! Digg! Digg



PHP : Function Reference : PHP Options&Information : assert_options

assert_options

Set/get the various assert flags (PHP 4, PHP 5)
mixed assert_options ( int what [, mixed value] )


Code Examples / Notes » assert_options

frédéric bouchery

Here is an exemple how to use the assertion callback function :
<?php
 assert_options( ASSERT_CALLBACK, 'assert_callback');
 function assert_callback( $script, $line, $message ) {
   echo 'You have a design error in your script <b>', $script,'</b> : line <b>', $line,'</b> :<br />';
   echo '<b>', ereg_replace( '^.*//\*', '', $message ), '</b><br /><br />';
   echo 'Open the source file and check it, because it\'s not a normal behaviour !';
   exit;
 }
 $x = 3;
 assert('is_integer( $x ) && ($x >= 0) && ($x <= 10); //* $x must be an integer value from 0 to 10' );
 echo "0 <= $x <= 10";
?>
assertion is usefull for "design by contract" methodology ...


webmaster

For all of you try to throw an exception in assert callback function you must set options in following form:
<?php
error_reporting(E_ALL | E_STRICT);
function assert_callcack($file, $line, $message) {
throw new Exception();
}
assert_options(ASSERT_ACTIVE,     1);
assert_options(ASSERT_WARNING,    0);
assert_options(ASSERT_BAIL,       0);
assert_options(ASSERT_QUIET_EVAL, 0);
assert_options(ASSERT_CALLBACK,   'assert_callcack');
try {
assert(false);
} catch (Exception $e) {
echo 'Yes';
}
?>


gherson

After being set to 1, my assert_options(ASSERT_BAIL) value stubbornly stayed there until Apache was restarted, returning it to its default of 0.
(Reproducible on my PHP Version 5.1.2, Apache/2.2.0 (Win32))


Change Language


Follow Navioo On Twitter
assert_options
assert
dl
extension_loaded
get_cfg_var
get_current_user
get_defined_constants
get_extension_funcs
get_include_path
get_included_files
get_loaded_extensions
get_magic_quotes_gpc
get_magic_quotes_runtime
get_required_files
getenv
getlastmod
getmygid
getmyinode
getmypid
getmyuid
getopt
getrusage
ini_alter
ini_get_all
ini_get
ini_restore
ini_set
main
memory_get_peak_usage
memory_get_usage
php_ini_scanned_files
php_logo_guid
php_sapi_name
php_uname
phpcredits
phpinfo
phpversion
putenv
restore_include_path
set_include_path
set_magic_quotes_runtime
set_time_limit
sys_get_temp_dir
version_compare
zend_logo_guid
zend_thread_id
zend_version
eXTReMe Tracker