Pengecualian PHP 7

Pengecualian PHP 7 digunakan untuk keserasian ke belakang dan peningkatan fungsi assert() lama. Ia membolehkan penegasan kos sifar dalam persekitaran pengeluaran dan menyediakan keupayaan untuk membuang pengecualian dan ralat tersuai.

Versi lama API akan terus dikekalkan untuk tujuan keserasian assert() kini merupakan binaan bahasa yang membenarkan hujah pertama menjadi ungkapan, bukan sekadar rentetan untuk dinilai atau boolean. untuk diuji.


menegaskan() konfigurasi

< th>Nilai lalai< tr>
Item konfigurasiNilai pilihan
zend.assertions1
    配置項(xiàng)默認(rèn)值可選值
    zend.assertions1
    • 1 - 生成和執(zhí)行代碼 (開(kāi)發(fā)模式)

    • 0 - 生成代碼,但在執(zhí)行時(shí)跳過(guò)它

    • -1 - 不生成代碼 (生產(chǎn)環(huán)境)

    assert.exception0
    • 1 - 斷言失敗時(shí)拋出,可以拋出異常對(duì)象,如果沒(méi)有提供異常,則拋出 AssertionError 對(duì)象實(shí)例。

    • 0 - 使用或生成 Throwable, 僅僅是基于對(duì)象生成的警告而不是拋出對(duì)象(與 PHP 5 兼容)

    1

    - Jana dan laksanakan kod (mod pembangunan)
    • 0
    • - Jana kod, tetapi Langkau ia semasa pelaksanaan
    • -1
    • - jangan jana kod (persekitaran pengeluaran)
assert.exception0
  • 1assertion - apabila penegasan gagal Lempar, anda boleh membuang objek pengecualian, jika tiada pengecualian disediakan, contoh objek AssertionError dilemparkan.

  • 0 - Gunakan atau hasilkan Throwable, cuma jana amaran berdasarkan objek dan bukannya membaling objek (serasi dengan PHP 5)
Parameter

penegasan

Penegasan. Dalam PHP 5, rentetan untuk pelaksanaan atau boolean untuk ujian. Dalam PHP 7, ini boleh menjadi ungkapan yang mengembalikan sebarang nilai, dan hasilnya akan digunakan untuk menunjukkan sama ada pernyataan itu berjaya.

penerangan

Jika
gagal, penerangan pilihan akan disertakan dalam mesej kegagalan.

exception

Dalam PHP 7, parameter kedua boleh menjadi objek

Throwable
dan bukannya String aksara yang akan dilemparkan jika penegasan gagal dan menegaskan.pengecualian didayakan.



Instance
Tetapkan zend.assertions kepada 0:


Instance

<?php
ini_set('zend.assertions', 0);
assert(true == false);
echo 'Hi!';
?>