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