Source for file jController.class.php

Documentation is available at jController.class.php

  1. <?php
  2. /**
  3. @package    jelix
  4. @subpackage core
  5. @author      Laurent Jouanneau
  6. @contributor Loic Mathaud
  7. @copyright   2005-2007 Laurent Jouanneau, 2006 Loic Mathaud
  8. @link        http://www.jelix.org
  9. @licence  http://www.gnu.org/licenses/lgpl.html GNU Lesser General Public Licence, see LICENCE file
  10. *
  11. */
  12. /**
  13.  * interface for controllers used for RESTFull request/response
  14.  * @package  jelix
  15.  * @subpackage core
  16.  */
  17. interface jIRestController{
  18.     public function get();
  19.     public function post();
  20.     public function put();
  21.     public function delete();
  22. }
  23.  
  24. /**
  25.  * class base for controllers
  26.  *
  27.  * A controller is used to implement one or many actions, one method for each action.
  28.  * @package  jelix
  29.  * @subpackage core
  30.  */
  31. abstract class jController{
  32.  
  33.     /**
  34.      * parameters for plugins of the coordinator
  35.      *
  36.      * this array should contains all parameters needed by installed plugins for
  37.      * each action, see the documentation of each plugins to know this parameters.
  38.      * keys : name of an action or * for parameters to all action
  39.      * values : array that contains all plugin parameters
  40.      * @var array 
  41.      */
  42.     public $pluginParams=array();
  43.  
  44.     /**
  45.      * the request object
  46.      * @var jRequest 
  47.      */
  48.     protected $request;
  49.  
  50.     /**
  51.      *
  52.      * @param jRequest $request the current request object
  53.      */
  54.     function __construct $request){
  55.         $this->request = $request;
  56.     }
  57.  
  58.     /**
  59.     * Gets the value of a request parameter. If not defined, gets its default value.
  60.     * @param string  $parName           the name of the request parameter
  61.     * @param mixed   $parDefaultValue   the default returned value if the parameter doesn't exists
  62.     * @param boolean $useDefaultIfEmpty true: says to return the default value if the parameter value is ""
  63.     * @return mixed the request parameter value
  64.     */
  65.     protected function param ($parName$parDefaultValue=null$useDefaultIfEmpty=false){
  66.        return $this->request->getParam($parName$parDefaultValue$useDefaultIfEmpty);
  67.     }
  68.  
  69.     /**
  70.     * same as param(), but convert the value to an integer value. If it isn't
  71.     * a numerical value, return null.
  72.     * @param string  $parName           the name of the request parameter
  73.     * @param mixed   $parDefaultValue   the default returned value if the parameter doesn't exists
  74.     * @param boolean $useDefaultIfEmpty true: says to return the default value the value is ""
  75.     * @return integer the request parameter value
  76.     */
  77.     protected function intParam ($parName$parDefaultValue=null$useDefaultIfEmpty=false){
  78.         $value $this->request->getParam($parName$parDefaultValue$useDefaultIfEmpty);
  79.         if(is_numeric($value))
  80.             return intval($value);
  81.         else
  82.             return null;
  83.     }
  84.  
  85.     /**
  86.     * same as param(), but convert the value to a float value. If it isn't
  87.     * a numerical value, return null.
  88.     * @param string  $parName           the name of the request parameter
  89.     * @param mixed   $parDefaultValue   the default returned value if the parameter doesn't exists
  90.     * @param boolean $useDefaultIfEmpty true: says to return the default value the value is ""
  91.     * @return float the request parameter value
  92.     */
  93.     protected function floatParam ($parName$parDefaultValue=null$useDefaultIfEmpty=false){
  94.         $value $this->request->getParam($parName$parDefaultValue$useDefaultIfEmpty);
  95.         if(is_numeric($value))
  96.             return floatval($value);
  97.         else
  98.             return null;
  99.     }
  100.  
  101.     /**
  102.     * same as param(), but convert the value to a boolean value. If it isn't
  103.     * a numerical value, return null.
  104.     * @param string  $parName           the name of the request parameter
  105.     * @param mixed   $parDefaultValue   the default returned value if the parameter doesn't exists
  106.     * @param boolean $useDefaultIfEmpty true: says to return the default value the value is ""
  107.     * @return boolean the request parameter value
  108.     */
  109.     protected function boolParam ($parName$parDefaultValue=null$useDefaultIfEmpty=false){
  110.         $value $this->request->getParam($parName$parDefaultValue$useDefaultIfEmpty);
  111.         if($value=="true" || $value == "1" || $value=="on" || $value=="yes")
  112.             return true;
  113.         elseif($value=="false" || $value == "0" || $value=="off" || $value=="no")
  114.             return false;
  115.         else
  116.             return null;
  117.     }
  118.  
  119.     /**
  120.      * @return array all request parameters
  121.      */
  122.     protected function params()return $this->request->params}
  123.  
  124.     /**
  125.      * get a response object.
  126.      * @param string $name the name of the response type (ex: "html")
  127.      * @param boolean $useOriginal true:don't use the response object redefined by the application
  128.      * @return jResponse the response object
  129.      */
  130.     protected function getResponse($name=''$useOriginal=false){
  131.         return $this->request->getResponse($name$useOriginal);
  132.     }
  133.  
  134. }

Documentation generated on Mon, 19 Sep 2011 14:12:02 +0200 by phpDocumentor 1.4.3