PHP 7異常
PHP 7下位互換性のための例外と古いのassert()関数を強化。 これは、本番環境でのゼロコストのアサーションを達成することができ、そしてスローされる例外とエラーをカスタマイズする機能を提供します。
互換性の目的のためのAPIの旧バージョンは(アサート、維持され続けます)今、最初の引数が式だけでなく、テストされるように計算される文字列またはブール値であることができる言語構造です。
主張する()の構成
構成アイテム | デフォルト | 使用可能な値 |
---|---|---|
zend.assertions | 1 |
|
assert.exception | 0 |
|
パラメータ
- アサーション
アサーション。 PHP 5では、それは実行のために、またはテストのための文字列にブール値です。 PHP 7では、あなたが任意の式の値を返すことができ、アサーションの結果が成功であることを示すために使用されます。
- 説明
場合
assertion
失敗し、オプションが障害情報の記述に含まれます。- 例外
アサーションが失敗したと、オブジェクトがスローされますassert.exception有効にした場合、PHP 7では、2番目のパラメータは、Throwableオブジェクトではなく文字列を指定できます。
例
0に設定zend.assertions:
例
ini_set( 'zend.assertions'、0) 。
(偽== true)をアサートします 。
「こんにちは!」 エコー ;
?>
上記プログラム実行出力は、次のとおりです。
Hi!
1に設定1に設定zend.assertionsは、assert.exception:
例
ini_set( 'zend.assertions'、1) ;
ini_set( 'assert.exception'、1) ;
(偽== true)をアサートします 。
「こんにちは!」 エコー ;
?>
上記プログラム実行出力は、次のとおりです。
Fatal error: Uncaught AssertionError: assert(true == false) in -:2 Stack trace: #0 -(2): assert(false, 'assert(true == ...') #1 {main} thrown in - on line 2