<?php declare(strict_types = 1); function protect(string $text): string{ return htmlspecialchars($text, ENT_HTML5 | ENT_QUOTES | ENT_SUBSTITUTE); } function bind(PDOStatement $stmt, string $param, $value, int $type = PDO::PARAM_STR): void{ if (strpos($stmt->queryString, ':'.$param) !== false){ $stmt->bindValue($param, $value, $type); } } function mb_str_starts_with(string $haystack, string $needle): bool{ return mb_substr($haystack, 0, mb_strlen($needle)) === $needle; } function mb_str_ends_with(string $haystack, string $needle): bool{ return mb_substr($haystack, -mb_strlen($needle)) === $needle; } function get_int(array $array, string $key): ?int{ return isset($array[$key]) && is_numeric($array[$key]) ? (int)$array[$key] : null; } ?>