Небольшой класс для удобной работы с информацией о текущем запросе (суперглобальные массивы, заголовки, URL и прочее).
- PHP 5.4+
Создаём объект Request. Можно указать значения массивов вручную, иначе они подтянутся автоматически.
$r = new Programulin\Request();
Для получения всего суперглобального массива используем одноимённые функции. Заголовки запроса можно получить с помощью headers():
$get = $r->get();
$post = $r->post();
$files = $r->files();
$server = $r->server();
$cookie = $r->cookie();
$headers = $r->headers();
Получение одного из компонентов массива:
// Получаем значение $_GET['id']
$id = $r->get('id');
// Получаем значение $_POST['products']['15']['name']
$name = $r->post('products.15.name');
Работа с URL:
// Получение всего URL в виде массива
$url = $r->url();
// Получение 3-го параметра URL (нумерация идёт с 0)
$url = $r->url(2);
// Получение URL в виде строки с GET-параметрами или без
$url = $r->urlWithQuery();
$url = $r->urlWithoutQuery();
Получение и проверка текущего метода:
echo $r->method();
if($r->isMethod('post'))
echo 'Текущий метод POST';
Проверка наличия заголовка If-Modified-Since:
if($r->isModified())
echo 'Заголовок есть';