1<?php 2 3/* 4 * This file is part of the Symfony package. 5 * 6 * (c) Fabien Potencier <fabien@symfony.com> 7 * 8 * For the full copyright and license information, please view the LICENSE 9 * file that was distributed with this source code. 10 */ 11 12use Symfony\Polyfill\Php80 as p; 13 14if (\PHP_VERSION_ID >= 80000) { 15 return; 16} 17 18if (!defined('FILTER_VALIDATE_BOOL') && defined('FILTER_VALIDATE_BOOLEAN')) { 19 define('FILTER_VALIDATE_BOOL', \FILTER_VALIDATE_BOOLEAN); 20} 21 22if (!function_exists('fdiv')) { 23 function fdiv(float $num1, float $num2): float { return p\Php80::fdiv($num1, $num2); } 24} 25if (!function_exists('preg_last_error_msg')) { 26 function preg_last_error_msg(): string { return p\Php80::preg_last_error_msg(); } 27} 28if (!function_exists('str_contains')) { 29 function str_contains(?string $haystack, ?string $needle): bool { return p\Php80::str_contains($haystack ?? '', $needle ?? ''); } 30} 31if (!function_exists('str_starts_with')) { 32 function str_starts_with(?string $haystack, ?string $needle): bool { return p\Php80::str_starts_with($haystack ?? '', $needle ?? ''); } 33} 34if (!function_exists('str_ends_with')) { 35 function str_ends_with(?string $haystack, ?string $needle): bool { return p\Php80::str_ends_with($haystack ?? '', $needle ?? ''); } 36} 37if (!function_exists('get_debug_type')) { 38 function get_debug_type($value): string { return p\Php80::get_debug_type($value); } 39} 40if (!function_exists('get_resource_id')) { 41 function get_resource_id($resource): int { return p\Php80::get_resource_id($resource); } 42} 43