Mercurial > hg > isophonics-drupal-site
view core/lib/Drupal/Component/Assertion/Handle.php @ 19:fa3358dc1485 tip
Add ndrum files
author | Chris Cannam |
---|---|
date | Wed, 28 Aug 2019 13:14:47 +0100 |
parents | 4c8ae668cc8c |
children |
line wrap: on
line source
<?php namespace Drupal\Component\Assertion; /** * Handler for runtime assertion failures. * * This class allows PHP 5.x to throw exceptions on runtime assertion fails * in the same manner as PHP 7, and sets the ASSERT_EXCEPTION flag to TRUE * for the PHP 7 runtime. * * @ingroup php_assert */ class Handle { /** * Registers uniform assertion handling. */ public static function register() { // Since we're using exceptions, turn error warnings off. assert_options(ASSERT_WARNING, FALSE); if (version_compare(PHP_VERSION, '7.0.0-dev') < 0) { if (!class_exists('AssertionError', FALSE)) { require __DIR__ . '/global_namespace_php5.php'; } // PHP 5 - create a handler to throw the exception directly. assert_options(ASSERT_CALLBACK, function ($file = '', $line = 0, $code = '', $message = '') { if (empty($message)) { $message = $code; } throw new \AssertionError($message, 0, NULL, $file, $line); }); } else { // PHP 7 - just turn exception throwing on. assert_options(ASSERT_EXCEPTION, TRUE); } } }