downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

assert> <PHP Options/Info 함수 목록
Last updated: Fri, 24 Jul 2009

view this page in

assert_options

(PHP 4, PHP 5)

assert_optionsSet/get the various assert flags

설명

mixed assert_options ( int $what [, mixed $value ] )

Set the various assert() control options or just query their current settings.

인수

what

Assert Options
Option INI Setting Default value Description
ASSERT_ACTIVE assert.active 1 enable assert() evaluation
ASSERT_WARNING assert.warning 1 issue a PHP warning for each failed assertion
ASSERT_BAIL assert.bail 0 terminate execution on failed assertions
ASSERT_QUIET_EVAL assert.quiet_eval 0 disable error_reporting during assertion expression evaluation
ASSERT_CALLBACK assert.callback (NULL) Callback to call on failed assertions

value

An optional new value for the option.

반환값

Returns the original setting of any option or FALSE on errors.

예제

Example #1 assert_options() example

<?php
// This is our function to handle 
// assert failures
function assert_failure()
{
    echo 
'Assert failed';
}

// This is our test function
function test_assert($parameter)
{
    
assert(is_bool($parameter));
}

// Set our assert options
assert_options(ASSERT_ACTIVE,    true);
assert_options(ASSERT_BAIL,     true);
assert_options(ASSERT_WARNING,     false);
assert_options(ASSERT_CALLBACK'assert_failure');

// Make an assert that would fail
test_assert(1);

// This is never reached due to ASSERT_BAIL 
// being true
echo 'Never reached';
?>

참고

  • assert() - Checks if assertion is FALSE



assert> <PHP Options/Info 함수 목록
Last updated: Fri, 24 Jul 2009
 
add a note add a note User Contributed Notes
assert_options
nanomag_12000 at hotmail dot com
19-Aug-2009 03:11
If you want your callback function be a method of a class. You can pass an array.
First is the class name, second is the method name

<?php
$newcb
= array("Contentcheck","sz_failureLine");
assert_options(ASSERT_CALLBACK, $newcb);
?>
gherson at snet dot net
31-Oct-2007 03:58
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))
webmaster at eiscp dot de
24-Oct-2007 07:45
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';
}
?>
Frdric Bouchery
20-Jul-2003 11:25
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 ...

assert> <PHP Options/Info 함수 목록
Last updated: Fri, 24 Jul 2009
 
 
show source | credits | stats | sitemap | contact | advertising | mirror sites