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...