PHP7-期待
Expectations古いassert()関数に対する下位互換性のある拡張機能です。期待値は、本番コードでゼロコストのアサーションを可能にし、アサーションが失敗したときにカスタム例外をスローする機能を提供します。assert()は言語構造になり、最初のパラメーターは、テスト対象の文字列またはブール値と比較して式になります。
assert()の構成ディレクティブ
指令 | デフォルト値 | 可能な値 |
---|---|---|
zend.assertions | 1 | 1 −コードの生成と実行(開発モード) 0 −コードを生成しますが、実行時にジャンプします -1 −コードを生成しない(本番モード) |
assert.exception | 0 | 1 −例外として提供されたオブジェクトをスローするか、新しいオブジェクトをスローすることにより、アサーションが失敗した場合にスローします。 AssertionError 例外が提供されなかった場合はオブジェクト。 0 −上記のようにThrowableを使用または生成しますが、オブジェクトをスローするのではなく、そのオブジェクトに基づいて警告を生成するだけです(PHP 5の動作と互換性があります) |
パラメーター
assertion−アサーション。PHP 5では、これは評価する文字列またはテストするブール値のいずれかである必要があります。PHP 7では、これは値を返す任意の式でもかまいません。値は実行され、その結果はアサーションが成功したか失敗したかを示すために使用されます。
description −アサーションが失敗した場合に、失敗メッセージに含まれるオプションの説明。
exception − PHP 7では、2番目のパラメーターは Throwable 記述文字列の代わりにオブジェクト。この場合、アサーションが失敗し、アサーションが失敗した場合にスローされるオブジェクトです。 assert.exception 構成ディレクティブが有効になります。
戻り値
FALSE アサーションがfalseの場合、 TRUE そうでなければ。
例
<?php
ini_set('assert.exception', 1);
class CustomError extends AssertionError {}
assert(false, new CustomError('Custom Error Message!'));
?>
次のブラウザ出力を生成します-
Fatal error: Uncaught CustomError: Custom Error Message! in...