|
assert_options
Set/get the various assert flags
(PHP 4, PHP 5)
Code Examples / Notes » assert_optionsfrĂ©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 Languageassert_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 |