PHP 7 yang abnormal
PHP 7 pengecualian untuk kompatibilitas dan meningkatkan fungsi menegaskan tua (). Hal ini dapat mencapai biaya pernyataan nol dalam lingkungan produksi, dan untuk memberikan eksepsi dilemparkan dan kemampuan untuk menyesuaikan kesalahan.
versi lama dari API untuk tujuan kompatibilitas akan terus dipertahankan, menegaskan () sekarang struktur bahasa yang memungkinkan argumen pertama adalah ekspresi, bukan hanya string yang akan dihitung untuk diuji atau boolean.
menegaskan () Konfigurasi
konfigurasi Barang | kegagalan | Nilai tersedia |
---|---|---|
zend.assertions | 1 |
|
assert.exception | 0 |
|
parameter
- penonjolan
Sikap tegas. Dalam PHP 5, itu adalah nilai Boolean ke string untuk eksekusi atau untuk pengujian. Dalam PHP 7, Anda dapat mengembalikan nilai ekspresi apapun, itu akan digunakan untuk menunjukkan hasil pernyataan berhasil.
- deskripsi
Jika
assertion
gagal, pilihan akan dimasukkan dalam deskripsi di informasi kegagalan.- pengecualian
Dalam PHP 7, parameter kedua dapat menjadi objek Throwable daripada string, jika pernyataan gagal dan memungkinkan assert.exception objek akan dibuang.
contoh
The zend.assertions set ke 0:
contoh
ini_set ( 'zend.assertions', 0) ;
menegaskan (== true false);
gema 'Hi!';
?>
Output di atas eksekusi program adalah:
Hi!
The zend.assertions set ke 1, assert.exception set ke 1:
contoh
ini_set ( 'zend.assertions', 1) ;
ini_set ( 'assert.exception', 1) ;
menegaskan (== true false);
gema 'Hi!';
?>
Output di atas eksekusi program adalah:
Fatal error: Uncaught AssertionError: assert(true == false) in -:2 Stack trace: #0 -(2): assert(false, 'assert(true == ...') #1 {main} thrown in - on line 2