Класс Request
<?php
class Request
{
private $request = [];
private $server = [];
private $files = [];
public function __get($name)
{
return $this->get($name);
}
public function equals($key, $value) {
return $this->get($key) == $value;
}
public function in($key, $value) {
return in_array($value, $this->get($key));
}
public function __construct()
{
$this->request = $_REQUEST;
$this->server = $_SERVER;
$this->files = $_FILES;
}
public function isEmpty() {
return empty($this->request);
}
public function isEmptyGet() {
return $this->isEmpty() && $this->isGet();
}
public function isEmptyPost() {
return $this->isEmpty() && $this->isPost();
}
public function isNotEmpty() {
return !empty($this->request);
}
public function isNotEmptyPost() {
return $this->isNotEmpty() && $this->isPost();
}
public function isNotEmptyGet() {
return $this->isNotEmpty() && $this->isGet();
}
public function get($name, $default = null)
{
if ($this->has($name)) {
return $this->request[$name];
}
return $default;
}
public function has($name)
{
return isset($this->request[$name]);
}
public function all()
{
return $this->request;
}
public function backUrl()
{
return $this->server['HTTP_REFERER'];
}
public function method()
{
return $this->server['REQUEST_METHOD'];
}
public function isPost() {
return $this->method() == 'POST';
}
public function isGet() {
return $this->method() == 'GET';
}
public function ip()
{
if (!empty($this->server['HTTP_CLIENT_IP'])) {
return $this->server['HTTP_CLIENT_IP'];
} elseif (!empty($this->get['HTTP_X_FORWARED_FOR'])) {
return $this->server['HTTP_X_FORWARED_FOR'];
} else {
return $this->server['REMOTE_ADDR'];
}
}
public function dd()
{
// $dumpArray = array_merge($this->request, ['files' => $this->files]);
echo '<pre>';
var_dump($this->request);
echo '</pre>';
die;
}
public function header($name) {
$name = trim(strtoupper($name));
return $this->server["HTTP_$name"];
}
public function allHeaders()
{
return apache_request_headers();
}
public function files() {
return $this->files;
}
public function file($name) {
return $this->files[$name];
}
public function notEmptyFiles()
{
return !empty($this->files);
}
}
Проверенный хостинг
Beget
Международный хостинг-провайдер, аккредитованный национальный и международный регистратор доменных имён.
Timeweb
Сервис, предоставляющий широкий спектр услуг в области веб-хостинга и виртуальных серверов.