Source for file jControllerCmdLine.class.php
Documentation is available at jControllerCmdLine.class.php
- <?php
- /**
- * @package jelix
- * @subpackage controllers
- * @author Loic Mathaud
- * @contributor Christophe Thiriot, Laurent Jouanneau
- * @copyright 2006 Loic Mathaud, 2007 Christophe Thiriot, 2008 Laurent Jouanneau
- * @link http://www.jelix.org
- * @licence http://www.gnu.org/licenses/lgpl.html GNU Lesser General Public Licence, see LICENCE file
- *
- */
-
- /**
- * a base class for controllers used in command line application
- * @package jelix
- * @subpackage controllers
- * @since 1.0a3
- */
- class jControllerCmdLine extends jController {
- /**
- * help for each action
- * it should be an array('method'=>'help',...);
- * @var array
- */
- public $help = array();
-
- /**
- * allowed options
- * @var array
- * @see jCmdUtils::getOptionsAndParams
- */
- protected $allowed_options;
-
- /**
- * allowed parameters
- * @var array
- * @see jCmdUtils::getOptionsAndParams
- */
- protected $allowed_parameters;
-
- /**
- * founded options
- * @var array
- * @see jCmdUtils::getOptionsAndParams
- */
- protected $_options;
-
- /**
- * founded parameters
- * @var array
- * @see jCmdUtils::getOptionsAndParams
- */
- protected $_parameters;
-
- /**
- *
- * @param jRequest $request
- */
- function __construct ($request){
- // we receive null when the controller is created only for help
- if($request == null)
- return;
- $this->request = $request;
- $params = $this->request->params;
- unset($params['module']);
- unset($params['action']);
-
- $action = new jSelectorAct($this->request->params['action']);
-
- if( !in_array($action->method, get_class_methods(get_class($this)))) {
- throw new jException('jelix~errors.cli.unknown.command', $action->method);
- }
- $opt = isset($this->allowed_options[$action->method]) ? $this->allowed_options[$action->method]: array();
- $par = isset($this->allowed_parameters[$action->method]) ? $this->allowed_parameters[$action->method]: array();
-
- list($this->_options,$this->_parameters) = jCmdUtils::getOptionsAndParams($params, $opt, $par);
-
- }
-
- protected function param ($parName, $parDefaultValue=null, $useDefaultIfEmpty=false){
- if (isset($this->_parameters[$parName])) {
- if($this->_parameters[$parName] == '' && $useDefaultIfEmpty)
- return $parDefaultValue;
- else
- return $this->_parameters[$parName];
- } else {
- return $parDefaultValue;
- }
- }
-
- protected function option($name) {
- if (isset($this->_options[$name])) {
- return $this->_options[$name];
- } else {
- return false;
- }
- }
- }
Documentation generated on Mon, 19 Sep 2011 14:12:03 +0200 by phpDocumentor 1.4.3