A super easy PHP Framework for web development!
https://github.com/exacti/phacil-framework
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
114 lines
2.7 KiB
114 lines
2.7 KiB
<?php
|
|
/*
|
|
* Copyright © 2021 ExacTI Technology Solutions. All rights reserved.
|
|
* GPLv3 General License.
|
|
* https://exacti.com.br
|
|
* Phacil PHP Framework - https://github.com/exacti/phacil-framework
|
|
*/
|
|
|
|
namespace Phacil\Framework;
|
|
|
|
/** @package Phacil\Framework */
|
|
final class Request {
|
|
public $get = array();
|
|
public $post = array();
|
|
public $cookie = array();
|
|
public $files = array();
|
|
public $server = array();
|
|
public $method;
|
|
|
|
/** @return void */
|
|
public function __construct() {
|
|
$_GET = $this->clean($_GET);
|
|
$_POST = $this->clean($_POST);
|
|
$_REQUEST = $this->clean($_REQUEST);
|
|
$_COOKIE = $this->clean($_COOKIE);
|
|
$_FILES = $this->clean($_FILES);
|
|
$_SERVER = $this->clean($_SERVER);
|
|
|
|
$this->get = $_GET;
|
|
$this->post = $_POST;
|
|
$this->request = $_REQUEST;
|
|
$this->cookie = $_COOKIE;
|
|
$this->files = $_FILES;
|
|
$this->server = $_SERVER;
|
|
$this->method = (isset($this->server['REQUEST_METHOD'])) ? $this->clean($this->server['REQUEST_METHOD']) : false;
|
|
}
|
|
|
|
/**
|
|
* @param string|array $data
|
|
* @return array|string
|
|
*/
|
|
public function clean($data) {
|
|
if (is_array($data)) {
|
|
foreach ($data as $key => $value) {
|
|
unset($data[$key]);
|
|
|
|
$data[$this->clean($key)] = $this->clean($value);
|
|
}
|
|
} else {
|
|
$data = htmlspecialchars($data, ENT_COMPAT);
|
|
}
|
|
|
|
return $data;
|
|
}
|
|
|
|
/** @return bool */
|
|
public function isPOST() {
|
|
return $this->is('POST');
|
|
}
|
|
|
|
/** @return bool */
|
|
public function isGET() {
|
|
return $this->is('GET');
|
|
}
|
|
|
|
/** @return bool */
|
|
public function isHEAD() {
|
|
return $this->is('HEAD');
|
|
}
|
|
|
|
/**
|
|
*
|
|
* @return bool
|
|
*/
|
|
public function isPUT() {
|
|
return $this->is('PUT');
|
|
}
|
|
|
|
/**
|
|
*
|
|
* @return bool
|
|
*/
|
|
public function isDELETE() {
|
|
return $this->is('DELETE');
|
|
}
|
|
|
|
/** @return bool */
|
|
public function isCONNECT() {
|
|
return $this->is('CONNECT') ;
|
|
}
|
|
|
|
/** @return bool */
|
|
public function isOPTIONS() {
|
|
return $this->is('OPTIONS') ;
|
|
}
|
|
|
|
/** @return bool */
|
|
public function isTRACE() {
|
|
return $this->is('TRACE');
|
|
}
|
|
|
|
/** @return bool */
|
|
public function isPATCH() {
|
|
return $this->is('PATCH');
|
|
}
|
|
|
|
/**
|
|
* @param string $method
|
|
* @return bool
|
|
*/
|
|
public function is($method){
|
|
return ($this->method == $method) ? true : false;
|
|
}
|
|
}
|
|
|