assert_options

(PHP 4, PHP 5, PHP 7, PHP 8)

assert_optionsÇeşitli kararlılık denetim seçeneklerini açar/kapar

Açıklama

assert_options(int $seçenek, mixed $değer = ?): mixed

assert() işlevi için çeşitli denetim seçeneklerini tanımlar veya mevcut değerlerini sorgular.

Bilginize: PHP 7.0.0 itibariyle, assert_options() işlevinin kullanılmaması öneriliyor. php.ini yönergelerinde okuma yazma işlemleri için zend.assertions ve assert.exception ile ini_set() ve ini_get() kullanılabilir.

Değiştirgeler

seçenek

Sav Seçenekleri
Seçenek INI değiştirgesi Öntanımlı Açıklama
ASSERT_ACTIVE assert.active 1 assert() değerlendirmesi etkin kılınır.
ASSERT_WARNING assert.warning 1 Her başarısız sav için bir PHP uyarısı çıktılanır
ASSERT_BAIL assert.bail 0 Savın başarısızlığı halinde çalışma durdurulur.
ASSERT_QUIET_EVAL assert.quiet_eval 0 Sav ifadesinin değerlendirilmesi sırasında hata raporlama kapatılır.
ASSERT_CALLBACK assert.callback (null) Savın başarısızlığı halinde çağrılacak geriçağırım işlevi.

değer

Seçenek için isteğe bağlı yeni değer.

Geriçağırım işlevi ASSERT_CALLBACK seçeneğiyle veya assert.callback işleviyle aşağıdaki sözdizimine göre atanmalıdır:

assert_callback(
    string $dosya,
    int $satır,
    string $sav,
    string $açıklama = ?
): void
dosya
assert() işlevinin çağrıldığı dosya.
satır
assert() işlevinin çağrıldığı satır.
sav
Dizgeye dönüştürülmüş olarak assert() işlevine aktarılan sav.
açıklama
assert() işlevine aktarılan açıklama.

değer değiştirgesine boş bir dizge aktarılması assert geriçağırım işlevini sıfırlar.

Dönen Değerler

Hata oluşursa false, aksi takdirde belirtilen seçeneğin özgün değeri döner.

Örnekler

Örnek 1 - assert_options() örneği

<?php
// Sav başarısızlıklarında çalışacak işlevimiz
function assert_failure($dosya$satr$sav$ileti)
{
    echo 
"$dosya dosyasının $satr. satırındaki $sav başarısız: $message";
}

// Sınama işlevimiz
function test_assert($parameter)
{
    
assert(is_bool($parameter));
}

// Sav seçeneklerini atayalım
assert_options(ASSERT_ACTIVE,   true);
assert_options(ASSERT_BAIL,     true);
assert_options(ASSERT_WARNING,  false);
assert_options(ASSERT_CALLBACK'assert_failure');

// Başarısız olmasını umarak bir sav ileri sürelim
test_assert(1);

// ASSERT_BAIL true olduğundan buraya asla gelinmez
echo 'Buraya gelinmemesi gerekir';
?>

Ayrıca Bakınız

  • assert() - Checks if assertion is false

add a note add a note

User Contributed Notes 1 note

up
1
20 years ago
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 ...
To Top