357 Zeilen
7,5 KiB
PHP
357 Zeilen
7,5 KiB
PHP
|
<?php
|
||
|
/**
|
||
|
* Zend Framework
|
||
|
*
|
||
|
* LICENSE
|
||
|
*
|
||
|
* This source file is subject to the new BSD license that is bundled
|
||
|
* with this package in the file LICENSE.txt.
|
||
|
* It is also available through the world-wide-web at this URL:
|
||
|
* http://framework.zend.com/license/new-bsd
|
||
|
* If you did not receive a copy of the license and are unable to
|
||
|
* obtain it through the world-wide-web, please send an email
|
||
|
* to license@zend.com so we can send you a copy immediately.
|
||
|
*
|
||
|
* @category Zend
|
||
|
* @package Zend_Controller
|
||
|
* @copyright Copyright (c) 2005-2011 Zend Technologies USA Inc. (http://www.zend.com)
|
||
|
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||
|
* @version $Id$
|
||
|
*/
|
||
|
|
||
|
/**
|
||
|
* @category Zend
|
||
|
* @package Zend_Controller
|
||
|
* @copyright Copyright (c) 2005-2011 Zend Technologies USA Inc. (http://www.zend.com)
|
||
|
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||
|
*/
|
||
|
abstract class Zend_Controller_Request_Abstract
|
||
|
{
|
||
|
/**
|
||
|
* Has the action been dispatched?
|
||
|
* @var boolean
|
||
|
*/
|
||
|
protected $_dispatched = false;
|
||
|
|
||
|
/**
|
||
|
* Module
|
||
|
* @var string
|
||
|
*/
|
||
|
protected $_module;
|
||
|
|
||
|
/**
|
||
|
* Module key for retrieving module from params
|
||
|
* @var string
|
||
|
*/
|
||
|
protected $_moduleKey = 'module';
|
||
|
|
||
|
/**
|
||
|
* Controller
|
||
|
* @var string
|
||
|
*/
|
||
|
protected $_controller;
|
||
|
|
||
|
/**
|
||
|
* Controller key for retrieving controller from params
|
||
|
* @var string
|
||
|
*/
|
||
|
protected $_controllerKey = 'controller';
|
||
|
|
||
|
/**
|
||
|
* Action
|
||
|
* @var string
|
||
|
*/
|
||
|
protected $_action;
|
||
|
|
||
|
/**
|
||
|
* Action key for retrieving action from params
|
||
|
* @var string
|
||
|
*/
|
||
|
protected $_actionKey = 'action';
|
||
|
|
||
|
/**
|
||
|
* Request parameters
|
||
|
* @var array
|
||
|
*/
|
||
|
protected $_params = array();
|
||
|
|
||
|
/**
|
||
|
* Retrieve the module name
|
||
|
*
|
||
|
* @return string
|
||
|
*/
|
||
|
public function getModuleName()
|
||
|
{
|
||
|
if (null === $this->_module) {
|
||
|
$this->_module = $this->getParam($this->getModuleKey());
|
||
|
}
|
||
|
|
||
|
return $this->_module;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Set the module name to use
|
||
|
*
|
||
|
* @param string $value
|
||
|
* @return Zend_Controller_Request_Abstract
|
||
|
*/
|
||
|
public function setModuleName($value)
|
||
|
{
|
||
|
$this->_module = $value;
|
||
|
return $this;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Retrieve the controller name
|
||
|
*
|
||
|
* @return string
|
||
|
*/
|
||
|
public function getControllerName()
|
||
|
{
|
||
|
if (null === $this->_controller) {
|
||
|
$this->_controller = $this->getParam($this->getControllerKey());
|
||
|
}
|
||
|
|
||
|
return $this->_controller;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Set the controller name to use
|
||
|
*
|
||
|
* @param string $value
|
||
|
* @return Zend_Controller_Request_Abstract
|
||
|
*/
|
||
|
public function setControllerName($value)
|
||
|
{
|
||
|
$this->_controller = $value;
|
||
|
return $this;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Retrieve the action name
|
||
|
*
|
||
|
* @return string
|
||
|
*/
|
||
|
public function getActionName()
|
||
|
{
|
||
|
if (null === $this->_action) {
|
||
|
$this->_action = $this->getParam($this->getActionKey());
|
||
|
}
|
||
|
|
||
|
return $this->_action;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Set the action name
|
||
|
*
|
||
|
* @param string $value
|
||
|
* @return Zend_Controller_Request_Abstract
|
||
|
*/
|
||
|
public function setActionName($value)
|
||
|
{
|
||
|
$this->_action = $value;
|
||
|
/**
|
||
|
* @see ZF-3465
|
||
|
*/
|
||
|
if (null === $value) {
|
||
|
$this->setParam($this->getActionKey(), $value);
|
||
|
}
|
||
|
return $this;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Retrieve the module key
|
||
|
*
|
||
|
* @return string
|
||
|
*/
|
||
|
public function getModuleKey()
|
||
|
{
|
||
|
return $this->_moduleKey;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Set the module key
|
||
|
*
|
||
|
* @param string $key
|
||
|
* @return Zend_Controller_Request_Abstract
|
||
|
*/
|
||
|
public function setModuleKey($key)
|
||
|
{
|
||
|
$this->_moduleKey = (string) $key;
|
||
|
return $this;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Retrieve the controller key
|
||
|
*
|
||
|
* @return string
|
||
|
*/
|
||
|
public function getControllerKey()
|
||
|
{
|
||
|
return $this->_controllerKey;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Set the controller key
|
||
|
*
|
||
|
* @param string $key
|
||
|
* @return Zend_Controller_Request_Abstract
|
||
|
*/
|
||
|
public function setControllerKey($key)
|
||
|
{
|
||
|
$this->_controllerKey = (string) $key;
|
||
|
return $this;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Retrieve the action key
|
||
|
*
|
||
|
* @return string
|
||
|
*/
|
||
|
public function getActionKey()
|
||
|
{
|
||
|
return $this->_actionKey;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Set the action key
|
||
|
*
|
||
|
* @param string $key
|
||
|
* @return Zend_Controller_Request_Abstract
|
||
|
*/
|
||
|
public function setActionKey($key)
|
||
|
{
|
||
|
$this->_actionKey = (string) $key;
|
||
|
return $this;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Get an action parameter
|
||
|
*
|
||
|
* @param string $key
|
||
|
* @param mixed $default Default value to use if key not found
|
||
|
* @return mixed
|
||
|
*/
|
||
|
public function getParam($key, $default = null)
|
||
|
{
|
||
|
$key = (string) $key;
|
||
|
if (isset($this->_params[$key])) {
|
||
|
return $this->_params[$key];
|
||
|
}
|
||
|
|
||
|
return $default;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Retrieve only user params (i.e, any param specific to the object and not the environment)
|
||
|
*
|
||
|
* @return array
|
||
|
*/
|
||
|
public function getUserParams()
|
||
|
{
|
||
|
return $this->_params;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Retrieve a single user param (i.e, a param specific to the object and not the environment)
|
||
|
*
|
||
|
* @param string $key
|
||
|
* @param string $default Default value to use if key not found
|
||
|
* @return mixed
|
||
|
*/
|
||
|
public function getUserParam($key, $default = null)
|
||
|
{
|
||
|
if (isset($this->_params[$key])) {
|
||
|
return $this->_params[$key];
|
||
|
}
|
||
|
|
||
|
return $default;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Set an action parameter
|
||
|
*
|
||
|
* A $value of null will unset the $key if it exists
|
||
|
*
|
||
|
* @param string $key
|
||
|
* @param mixed $value
|
||
|
* @return Zend_Controller_Request_Abstract
|
||
|
*/
|
||
|
public function setParam($key, $value)
|
||
|
{
|
||
|
$key = (string) $key;
|
||
|
|
||
|
if ((null === $value) && isset($this->_params[$key])) {
|
||
|
unset($this->_params[$key]);
|
||
|
} elseif (null !== $value) {
|
||
|
$this->_params[$key] = $value;
|
||
|
}
|
||
|
|
||
|
return $this;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Get all action parameters
|
||
|
*
|
||
|
* @return array
|
||
|
*/
|
||
|
public function getParams()
|
||
|
{
|
||
|
return $this->_params;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Set action parameters en masse; does not overwrite
|
||
|
*
|
||
|
* Null values will unset the associated key.
|
||
|
*
|
||
|
* @param array $array
|
||
|
* @return Zend_Controller_Request_Abstract
|
||
|
*/
|
||
|
public function setParams(array $array)
|
||
|
{
|
||
|
$this->_params = $this->_params + (array) $array;
|
||
|
|
||
|
foreach ($this->_params as $key => $value) {
|
||
|
if (null === $value) {
|
||
|
unset($this->_params[$key]);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return $this;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Unset all user parameters
|
||
|
*
|
||
|
* @return Zend_Controller_Request_Abstract
|
||
|
*/
|
||
|
public function clearParams()
|
||
|
{
|
||
|
$this->_params = array();
|
||
|
return $this;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Set flag indicating whether or not request has been dispatched
|
||
|
*
|
||
|
* @param boolean $flag
|
||
|
* @return Zend_Controller_Request_Abstract
|
||
|
*/
|
||
|
public function setDispatched($flag = true)
|
||
|
{
|
||
|
$this->_dispatched = $flag ? true : false;
|
||
|
return $this;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Determine if the request has been dispatched
|
||
|
*
|
||
|
* @return boolean
|
||
|
*/
|
||
|
public function isDispatched()
|
||
|
{
|
||
|
return $this->_dispatched;
|
||
|
}
|
||
|
}
|