dbms_primeidc/extdbms/lib/Core/Helper.php
2025-04-07 17:22:59 +09:00

46 lines
1.4 KiB
PHP

<?php
namespace lib\Core;
abstract class Helper
{
protected function __construct() {} //
public static function baseUrl(): string
{
$protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') ? "https://" : "http://";
$host = $_SERVER['HTTP_HOST'] ?? 'localhost';
$script = str_replace(basename($_SERVER['SCRIPT_NAME']), '', $_SERVER['SCRIPT_NAME']);
return rtrim($protocol . $host . $script, '/');
}
public static function currentUrl(): string
{
$protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') ? "https://" : "http://";
$host = $_SERVER['HTTP_HOST'] ?? 'localhost';
$uri = $_SERVER['REQUEST_URI'] ?? '';
return $protocol . $host . $uri;
}
public static function previousUrl(): ?string
{
return $_SERVER['HTTP_REFERER'] ?? null;
}
public static function urlIs(string $pattern): bool
{
$uri = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
$pattern = str_replace('*', '.*', preg_quote($pattern, '/'));
return preg_match("/^{$pattern}$/", $uri) === 1;
}
public static function getSegment(int $index): ?string
{
$uri = trim(parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH), '/');
$segments = explode('/', $uri);
return $segments[$index - 1] ?? null;
}
} //Class