123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221 |
- <?php
- namespace Qii\Request;
- use Qii\Base\Request;
- final class Simple extends Request
- {
- /**
- * __construct
- *
- * @param string $module
- * @param string $controller
- * @param string $action
- * @param string $method
- * @param array $params
- */
- public function __construct ($module, $controller, $action, $method, $params = null)
- {
- if ($params && !is_array($params)) {
- unset($this);
- trigger_error('Expects the params is an array', E_USER_ERROR);
- return false;
- }
- if (is_string($method)) {
- $this->method = $method;
- } else {
- if (isset($_SERVER['REQUEST_METHOD'])) {
- $this->method = $_SERVER['REQUEST_METHOD'];
- } else {
- if (!strncasecmp(PHP_SAPI, 'cli', 3)) {
- $this->method = 'CLI';
- } else {
- $this->method = 'Unknown';
- }
- }
- }
- if ($module || $controller || $action) {
- if ($module && is_string($module)) {
- $this->module = $module;
- } else {
- $this->module = YAF_G('default_module');
- }
- if ($controller && is_string($controller)) {
- $this->controller = $controller;
- } else {
- $this->controller = YAF_G('default_controller');
- }
- if ($action && is_string($action)) {
- $this->action = $action;
- } else {
- $this->controller = YAF_G('default_action');
- }
- $this->routed = true;
- } else {
- $argv = $this->getServer('argv');
- if (is_array($argv)) {
- foreach($argv as $value) {
- if (is_string($value)) {
- if (strncasecmp($value, 'request_uri=', 12)) {
- continue;
- }
- $query = substr($value, 12);
- break;
- }
- }
- }
- if (empty($query)) {
- $this->uri = '';
- } else {
- $this->uri = $query;
- }
- }
- if ($params && is_array($params)) {
- $this->params = $params;
- } else {
- $this->params = array();
- }
- parent::__construct();
- }
-
- /**
- * getQuery
- *
- * @param string $name
- * @param mixed $default
- * @return mixed
- */
- public function getQuery($name = null, $default = null)
- {
- if (is_null($name)) {
- return $_GET;
- } elseif (isset($_GET[$name])) {
- return $_GET[$name];
- }
- return $default;
- }
- /**
- * getRequest
- *
- * @param string $name
- * @param mixed $default
- * @return mixed
- */
- public function getRequest($name = null, $default = null)
- {
- if (is_null($name)) {
- return $_REQUEST;
- } elseif (isset($_REQUEST[$name])) {
- return $_REQUEST[$name];
- }
- return $default;
- }
- /**
- * getPost
- *
- * @param string $name
- * @param mixed $default
- * @return mixed
- */
- public function getPost($name = null, $default = null)
- {
- if (is_null($name)) {
- return $_POST;
- } elseif (isset($_POST[$name])) {
- return $_POST[$name];
- }
- return $default;
- }
- /**
- * getCookie
- *
- * @param string $name
- * @param mixed $default
- * @return mixed
- */
- public function getCookie($name = null, $default = null)
- {
- if (is_null($name)) {
- return $_COOKIE;
- } elseif (isset($_COOKIE[$name])) {
- return $_COOKIE[$name];
- }
- return $default;
- }
- /**
- * getFiles
- *
- * @param string $name
- * @param mixed $default
- * @return mixed
- */
- public function getFiles($name = null, $default = null)
- {
- if (is_null($name)) {
- return $_FILES;
- } elseif (isset($_FILES[$name])) {
- return $_FILES[$name];
- }
- return $default;
- }
- /**
- * get [params -> post -> get -> cookie -> server]
- *
- * @param string $name
- * @param mixed $default
- * @return mixed
- */
- public function get($name, $default = null)
- {
- if (isset($this->params[$name])) {
- return $this->params[$name];
- } elseif (isset($_POST[$name])) {
- return $_POST[$name];
- } elseif (isset($_GET[$name])) {
- return $_GET[$name];
- } elseif (isset($_COOKIE[$name])) {
- return $_COOKIE[$name];
- } elseif (isset($_SERVER[$name])) {
- return $_SERVER[$name];
- }
- return $default;
- }
- /**
- * isXmlHttpRequest
- *
- * @param void
- * @return boolean
- */
- public function isXmlHttpRequest()
- {
- $header = isset($_SERVER['HTTP_X_REQUESTED_WITH']) ? $_SERVER['X-Requested-With'] : '';
- if (is_string($header) && strncasecmp('XMLHttpRequest', $header, 14) == 0) {
- return true;
- }
- return false;
- }
- /**
- * __clone
- *
- * @param void
- */
- private function __clone()
- {
-
- }
- }
|