Objectifs

Extension de la classe RequestParserBase, ce modèle de classe à personnaliser remplit 2 objectifs :

  1. La récupération des paramètres d'une requête est isolée dans une boîte noire (du point de vue de l'application). L'application n'a pas, par exemple, à connaitre le nom des paramètres à récupérer. Par contre, il faudra prévoir le couplage de RequestParserXxx avec le module chargé de créer les liens entre les pages.
  2. Dans le cas d'une application basé sur le principe d'une collection de "portlet" (par exemple), il faut que chaque portlet puisse recevoir spécifiquement des paramètre. Le constructeur prévoit un "espace de nom" optionnel pour éviter les collisions de noms.

Améliorations possibles

Rajouter des fonctions qui appliquent des contraintes sur le contenu d'un paramètre de la requête. Par exemple une expression regulière précise. Une telle fonction serait rajoutée dans la classe étendue et non dans RequestParserBase car la contrainte est spécifique à l'application. Par exemple une énumération de valeurs.

Code Source

<?php
/*
(c)2004 David Sporn

This library is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public
License version 2.1 as published by the Free Software Foundation.

This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
General Public License for more details.

You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */
require_once("includes/RequestParserBase.php") ;

class RequestParserXxx extends RequestParserBase
{
	//Name of request variables
	var $myYyy ;
	//etc...
	
	function Xxx($nameSpace = '')
	{
		$this->myYyy = $nameSpace.'Yyy' ;
	}
	
	/**Get Yyy value, used for ... .
	 * @param default default value.
	 * @return a string
	 */
	function getYyy($default = '')
	{
		return $this->getSingleLineValue($this->myYyy, $default );
	}
}
?>