Added another front page space for Yaffs info. Added roave security for composer.
[yaffs-website] / web / core / lib / Drupal / Component / Assertion / Handle.php
1 <?php
2
3 namespace Drupal\Component\Assertion;
4
5 /**
6  * Handler for runtime assertion failures.
7  *
8  * This class allows PHP 5.x to throw exceptions on runtime assertion fails
9  * in the same manner as PHP 7, and sets the ASSERT_EXCEPTION flag to TRUE
10  * for the PHP 7 runtime.
11  *
12  * @ingroup php_assert
13  */
14 class Handle {
15
16   /**
17    * Registers uniform assertion handling.
18    */
19   public static function register() {
20     // Since we're using exceptions, turn error warnings off.
21     assert_options(ASSERT_WARNING, FALSE);
22
23     if (version_compare(PHP_VERSION, '7.0.0-dev') < 0) {
24       if (!class_exists('AssertionError', FALSE)) {
25         require __DIR__ . '/global_namespace_php5.php';
26       }
27       // PHP 5 - create a handler to throw the exception directly.
28       assert_options(ASSERT_CALLBACK, function($file = '', $line = 0, $code = '', $message = '') {
29         if (empty($message)) {
30           $message = $code;
31         }
32         throw new \AssertionError($message, 0, NULL, $file, $line);
33       });
34     }
35     else {
36       // PHP 7 - just turn exception throwing on.
37       assert_options(ASSERT_EXCEPTION, TRUE);
38     }
39   }
40
41 }