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.

109 lines
3.0 KiB

<?php namespace Majestic;
/**
* Класс для работы с переменными окружения.
*
* @copyright NetMonsters <team@netmonsters.ru>
* @link http://netmonsters.ru
* @package Majestic
* @subpackage env
* @since
*/
class Env
{
static protected $request = array();
static protected $params = array();
static public function getRequestUri($trim_base = false)
{
if (!isset(self::$request[$trim_base])) {
// removes get params
list(self::$request[$trim_base], ) = explode('?', Env::Server('REQUEST_URI'));
if ($trim_base) {
// removes base url
$base = \Majestic\App\FrontController::getInstance()->getBaseUrl();
if (($length = strlen($base)) > 0 && strpos(self::$request[$trim_base], $base) === 0) {
self::$request[$trim_base] = (string) substr(self::$request[$trim_base], $length);
}
}
}
return self::$request[$trim_base];
}
static public function Get($key = null, $default = null)
{
if ($key === null) {
return $_GET;
}
return (isset($_GET[$key])) ? $_GET[$key] : $default;
}
static public function Post($key = null, $default = null)
{
if ($key === null) {
return $_POST;
}
return (isset($_POST[$key])) ? $_POST[$key] : $default;
}
static public function Request($key = null, $default = null)
{
if ($key === null) {
return $_REQUEST;
}
return (isset($_REQUEST[$key])) ? $_REQUEST[$key] : $default;
}
static public function Cookie($key = null, $default = false)
{
if ($key === null) {
return $_COOKIE;
}
return (isset($_COOKIE[$key])) ? $_COOKIE[$key] : $default;
}
static public function Server($key = null, $default = null)
{
if ($key === null) {
return $_SERVER;
}
return (isset($_SERVER[$key])) ? $_SERVER[$key] : $default;
}
static public function setCookie($var, $value, $time = 0, $path = '/')
{
return setcookie($var, $value, $time, $path);
}
static public function Files($name = '', $default = array(), $param = false)
{
if (!isset($_FILES)) {
return $default;
}
if (empty($name)) {
return $_FILES;
}
$res = isset($_FILES[$name]) ? $_FILES[$name] : $default;
return $param ? $res[$param] : $res;
}
static public function getParam($key = null, $default = false)
{
if ($key === null) {
return self::$params;
}
return (isset(self::$params[$key])) ? self::$params[$key] : $default;
}
static public function setParam($key, $value)
{
self::$params[$key] = $value;
}
static public function setParams($params = array())
{
self::$params = self::$params + $params;
}
}