Класс Request.php

Класс Request

Предназначен для работы запросами на сайте

Функция method()

Код функции (спойлер)
 
   public function method($method = null) {
        if(!empty($method)) {
            return strtolower($_SERVER['REQUEST_METHOD']) == strtolower($method);
        }
        return $_SERVER['REQUEST_METHOD'];
    }

Фукнция возвращает метод передачи данных

Функция принимает один аргумент $method

Параметры которые содержит функция:

  • $method - метод передачи данных (post, get)

Функция возвращает метод передачи данных


Функция get()

Код функции (спойлер)
     public function get($name, $type = null) {
        $val = null;
        if(isset($_GET[$name])) {
            $val = $_GET[$name];
        }

        if(!empty($type) && is_array($val)) {
            $val = reset($val);
        }

        if($type == 'string') {
            return strval(preg_replace('/[^\p{L}\p{Nd}\d\s_\-\.\%\s]/ui', '', $val));
        }

        if($type == 'integer') {
            return intval($val);
        }

        if($type == 'float') {
            return floatval($val);
        }

        if($type == 'boolean') {
            return !empty($val);
        }

        return $val;
    }

Функция получения данных с переменной $_GET

Функция принимает два аргумента $name, $type

Параметры которые содержит функция:

  • $name - название поля в переменной $_GET
  • $type - тип данных для конвертации значения переменной

Перемення $type может принимать такие значения:

  • string - конвертация значения к строке
  • integer - конвертация значения к целому числу
  • float - конвертация значения к вещественному числу
  • boolean - возврает false, в случае пустого значения

Функция post()

Код функции (спойлер)
    public function post($name = null, $type = null) {
        $val = null;
        if(!empty($name) && isset($_POST[$name])) {
            $val = $_POST[$name];
        } elseif(empty($name)) {
            $val = file_get_contents('php://input');
        }

        if($type == 'string') {
            return strval(preg_replace('/[^\p{L}\p{Nd}\d\s_\-\.\%\s]/ui', '', $val));
        }

        if($type == 'integer') {
            return intval($val);
        }

        if($type == 'float') {
            return floatval($val);
        }

        if($type == 'boolean') {
            return !empty($val);
        }

        return $val;
    }

Функция получения данных с переменной $_POST

Функция принимает два аргумента $name, $type

Параметры которые содержит функция:

  • $name - название поля в переменной $_POST
  • $type - тип данных для конвертации значения переменной

Перемення $type может принимать такие значения:

  • string - конвертация значения к строке
  • integer - конвертация значения к целому числу
  • float - конвертация значения к вещественному числу
  • boolean - возврает false, в случае пустого значения

Функция files()

Код функции (спойлер)
    public function files($name, $name2 = null) {
        if(!empty($name2) && !empty($_FILES[$name][$name2])) {
            return $_FILES[$name][$name2];
        } elseif(empty($name2) && !empty($_FILES[$name])) {
            return $_FILES[$name];
        } else {
            return null;
        }
    }

Функция получения данных с переменной $_FILES

Функция принимает два аргумента $name, $name_2

Параметры которые содержит функция:

  • $name - название поля в переменной $_FILES
  • $name2 - название поля, например name

Функция возвращает либо сам файл, либо файл и информацию о нем


Функция url()

Код функции (спойлер)
     public function url($params = array()) {
        $url = @parse_url($_SERVER["REQUEST_URI"]);
        parse_str($url['query'], $query);

        if(get_magic_quotes_gpc()) {
            foreach($query as &$v) {
                if(!is_array($v)) {
                    $v = stripslashes(urldecode($v));
                }
            }
        }

        foreach($params as $name=>$value) {
            $query[$name] = $value;
        }

        $query_is_empty = true;
        foreach($query as $name=>$value) {
            if($value!=='' && $value!==null) {
                $query_is_empty = false;
            }
        }

        if(!$query_is_empty) {
            $url['query'] = http_build_query($query);
        } else {
            $url['query'] = null;
        }

        $result = http_build_url(null, $url);
        return $result;
    }

Функция для построения ссылки с разными параметрами

Функция принимает один аргумент $params в виде массива

Функция возвращает построенную ссылку с переданными ей параметрами