/
Malenych
/
techart_test
Обзор
Документация
Войти
/
Malenych
/
techart_test
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
engine/Request.php
80 строк
2 KB
Andrey Malenko
Рефакторинг кода классов
25 янв 2026, 18:04
25 янв 2026, 18:04
f930e34
Код
Авторство
О чём код?
<?php namespace Engine; use Engine\Path; /** * Описывает параметры запроса */ class Request { private $address_params = []; private $get_params = []; public function __construct(Path $path) { $this->makeAddressParams($path); $this->setGETParams(); } /** * Создает параметры из адреса по шаблону * @param Path $path * @return void */ private function makeAddressParams(Path $path): void { $uri_literas = Path::split($_SERVER['REQUEST_URI']); $address = $path->getAddress(); $params = []; for ($i = 0; $i < count($address); $i++) switch ($address[$i]) { case '<text>': $params[] = $uri_literas[$i]; case '<number>': $params[] = (int)$uri_literas[$i]; } $this->address_params = $params; } /** * Возвращает параметр по номеру * @param int $number * @return int|string */ public function address(int $number): int|string { return $this->address_params[$number]; } /** * Возвращает GET-параметр по его имени * @param string $name * @return mixed */ public function get(string $name): mixed { return $this->get_params[$name]?? null; } /** * Возвращает все данные * @return array<int|string> */ public function getAll(): array { return $this->address_params; } /** * Устанавливает GET-параметры * @return void */ private function setGETParams(): void { $this->get_params = $_GET; } }