O:39:"phpDocumentor\Descriptor\FileDescriptor":21:{s:7:" * hash";s:32:"c5ab169a3ff7890fcb3f144efb0ec02e";s:7:" * path";s:14:"Controleur.php";s:9:" * source";s:5443:"<?php
// declare(encoding='UTF-8');
/**
 * Classe Controleur, coeur d'une application, c'est normalement la seule classe d'une application
 * qui devrait être appelée de l'extérieur.
 * Elle est abstraite donc doit obligatoirement être étendue.
 *
 * @category	php 5.2
 * @package	Framework
 * @author		Aurélien PERONNET <aurelien@tela-botanica.org>
 * @author		Jean-Pascal MILCENT <jpm@tela-botanica.org>
 * @copyright	Copyright (c) 2009, Tela Botanica (accueil@tela-botanica.org)
 * @license	http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
 * @license	http://www.gnu.org/licenses/gpl.html Licence GNU-GPL
 * @version	$Id: Controleur.php 415 2012-04-04 09:05:55Z jpm $
 * @link		/doc/framework/
 *
 */
abstract class Controleur {
	/** Variable statique indiquant que les tableaux _GET et _POST ont déjà été encodé au format de l'appli. */
	private static $encodage = false;

	/** Chemin de base vers les classes métiers de la partie Modèle de l'application. */
	private $base_chemin_modele = null;

	/** Chemin de base vers les fichiers squelette de la partie Vue de l'application. */
	private $base_chemin_squelette = null;

	/** Chemin de base vers les classes controleurs de la partie Controleur de l'application. */
	private $base_chemin_controleur = null;

	/** Objet URL contant l'url de la base de l'application. */
	private $base_url_applicaton = null;

	/** Tableau des noms des paramètres à définir dans le fichier de config car obligatoirement nécessaire à cette classe.*/
	protected $parametres_obligatoires = array('chemin_modeles', 'chemin_squelettes', 'chemin_controleurs', 'base_url_application');

	/**
	 * Constructeur par défaut
	 */
	public function __construct() {
		Config::verifierPresenceParametres($this->parametres_obligatoires);

		$this->base_chemin_modele = Config::get('chemin_modeles');
		if (Registre::existe('tbf.chemin_modeles')) {
			$this->base_chemin_modele = Registre::get('tbf.chemin_modeles');
		}

		$this->base_chemin_squelette = Config::get('chemin_squelettes');
		if (Registre::existe('tbf.chemin_squelettes')) {
			$this->base_chemin_squelette = Registre::get('tbf.chemin_squelettes');
		}

		$this->base_chemin_controleur = Config::get('chemin_controleurs');
		if (Registre::existe('tbf.chemin_controleurs')) {
			$this->base_chemin_squelette = Registre::get('tbf.chemin_controleurs');
		}

		$this->base_url_application = new Url(Config::get('base_url_application'));
	}

	/**
	 * Permet de récupérer le chemin vers les squelettes.
	 *
	 * @return String $chemin chemin vers les squelettes
	 */
	protected function getCheminSquelette() {
		return $this->base_chemin_squelette;
	}

	/**
	 * Permet de définir dynamiquement le chemin vers les squelettes.
	 *
	 * @param String $chemin chemin vers les squelettes
	 */
	protected function setCheminSquelette($chemin) {
		$this->base_chemin_squelette = $chemin;
	}

	/**
	* Charge un modele donné et le rend disponible sous la forme $this->nom_modele
	*
	* @param string $nom_modele le nom du modèle à  charger
	*
	* @return boolean false si le chargement a échoué, sinon true.
	*/
	public function chargerModele($nom_modele) {
		$sortie = true;
		if (!isset($this->$nom_modele)) {
			$modele = $this->getModele($nom_modele);
			if ($modele !== false) {
				$this->$nom_modele = new $nom_modele;
			} else {
				$sortie = false;
			}
		}
		return $sortie;
	}

	/**
	* Retourne un modele donné
	*
	* @param string $nom_modele	le nom du fichier modèle à charger sans son extension
	* @param String $ext		l'extension du fichier du modèle (par défaut : ".php")
	*
	* @return mixed false si le chargement a échoué, sinon l'objet du modèle demandé.
	*/
	protected function getModele($nom_modele, $ext = '.php') {
		$sortie = false;

		$chemin_modele = $this->registre->get('base_chemin_modele').$nom_modele.$ext;
		if (file_exists($chemin_modele)) {
			include_once $chemin_modele;
			if (class_exists($nom_modele)) {
				$sortie = new $nom_modele;
			}
		}
		return $sortie;
	}

	/**
	 * Fonction prenant en paramètre le nom d'un squelette et un tableau associatif de données,
	 * en extrait les variables, charge le squelette et retourne le résultat des deux combinés.
	 *
	 * @param String $nom_squelette	le nom du squelette sans son extension si elle vaut ".tpl.html"
	 * @param Array  $donnees		un tableau associatif contenant les variables a injecter dans la vue
	 * @since 0.4 suppression du paramètre 'ext' => le mettre directement dans le nom du squelette
	 *
	 * @return boolean false si la vue n'existe pas, sinon la chaine résultat.
	 */
	protected function getVue($nom_squelette, $donnees = array()) {
		$donnees = $this->preTraiterDonnees($donnees);
		$chemin_squelette = $this->base_chemin_squelette.$nom_squelette.'.tpl.html';
		if (file_exists($chemin_squelette) === false) {
			$chemin_squelette = $this->base_chemin_squelette.$nom_squelette;
		}
		$sortie = SquelettePhp::analyser($chemin_squelette, $donnees);

		return $sortie;
	}

	/**
	 * Fonction prenant en paramètre un tableau de données et effectuant un traitement dessus.
	 * Cette fonction est à surcharger dans les classes filles pour automatiser un traitement
	 * avant chaque chargement de vue.
	 *
	 * @param Array $donnees Le tableau de données à traiter
	 *
	 * @return Array $donnees Le tableau de données traité
	 */
	protected function preTraiterDonnees(&$donnees) {
		return $donnees;
	}
}
?>";s:19:" * namespaceAliases";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}s:11:" * includes";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:1:{i:0;O:41:"phpDocumentor\Reflection\IncludeReflector":3:{s:7:" * node";O:27:"PHPParser_Node_Expr_Include":2:{s:11:" * subNodes";a:2:{s:4:"expr";O:28:"PHPParser_Node_Expr_Variable":2:{s:11:" * subNodes";a:1:{s:4:"name";s:13:"chemin_modele";}s:13:" * attributes";a:2:{s:9:"startLine";i:113;s:7:"endLine";i:113;}}s:4:"type";i:2;}s:13:" * attributes";a:2:{s:9:"startLine";i:113;s:7:"endLine";i:113;}}s:23:" * default_package_name";s:0:"";s:10:" * context";O:41:"phpDocumentor\Reflection\DocBlock\Context":3:{s:12:" * namespace";s:0:"";s:20:" * namespace_aliases";a:0:{}s:7:" * lsen";s:0:"";}}}}s:12:" * constants";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}s:12:" * functions";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}s:10:" * classes";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:1:{s:11:"\Controleur";O:40:"phpDocumentor\Descriptor\ClassDescriptor":18:{s:9:" * parent";s:0:"";s:13:" * implements";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}s:11:" * abstract";b:1;s:8:" * final";b:0;s:12:" * constants";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}s:13:" * properties";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:6:{s:8:"encodage";O:43:"phpDocumentor\Descriptor\PropertyDescriptor":15:{s:9:" * parent";r:33;s:8:" * types";N;s:10:" * default";s:5:"false";s:9:" * static";b:1;s:13:" * visibility";s:7:"private";s:8:" * fqsen";s:21:"\Controleur::encodage";s:7:" * name";s:8:"encodage";s:12:" * namespace";N;s:10:" * package";s:0:"";s:10:" * summary";s:105:"Variable statique indiquant que les tableaux _GET et _POST ont déjà été encodé au format de l'appli.";s:14:" * description";s:0:"";s:17:" * fileDescriptor";N;s:7:" * line";i:21;s:7:" * tags";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:1:{s:3:"var";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}}}s:9:" * errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}}s:18:"base_chemin_modele";O:43:"phpDocumentor\Descriptor\PropertyDescriptor":15:{s:9:" * parent";r:33;s:8:" * types";N;s:10:" * default";s:4:"null";s:9:" * static";b:0;s:13:" * visibility";s:7:"private";s:8:" * fqsen";s:31:"\Controleur::base_chemin_modele";s:7:" * name";s:18:"base_chemin_modele";s:12:" * namespace";N;s:10:" * package";s:0:"";s:10:" * summary";s:79:"Chemin de base vers les classes métiers de la partie Modèle de l'application.";s:14:" * description";s:0:"";s:17:" * fileDescriptor";N;s:7:" * line";i:24;s:7:" * tags";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:1:{s:3:"var";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}}}s:9:" * errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}}s:21:"base_chemin_squelette";O:43:"phpDocumentor\Descriptor\PropertyDescriptor":15:{s:9:" * parent";r:33;s:8:" * types";N;s:10:" * default";s:4:"null";s:9:" * static";b:0;s:13:" * visibility";s:7:"private";s:8:" * fqsen";s:34:"\Controleur::base_chemin_squelette";s:7:" * name";s:21:"base_chemin_squelette";s:12:" * namespace";N;s:10:" * package";s:0:"";s:10:" * summary";s:77:"Chemin de base vers les fichiers squelette de la partie Vue de l'application.";s:14:" * description";s:0:"";s:17:" * fileDescriptor";N;s:7:" * line";i:27;s:7:" * tags";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:1:{s:3:"var";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}}}s:9:" * errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}}s:22:"base_chemin_controleur";O:43:"phpDocumentor\Descriptor\PropertyDescriptor":15:{s:9:" * parent";r:33;s:8:" * types";N;s:10:" * default";s:4:"null";s:9:" * static";b:0;s:13:" * visibility";s:7:"private";s:8:" * fqsen";s:35:"\Controleur::base_chemin_controleur";s:7:" * name";s:22:"base_chemin_controleur";s:12:" * namespace";N;s:10:" * package";s:0:"";s:10:" * summary";s:85:"Chemin de base vers les classes controleurs de la partie Controleur de l'application.";s:14:" * description";s:0:"";s:17:" * fileDescriptor";N;s:7:" * line";i:30;s:7:" * tags";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:1:{s:3:"var";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}}}s:9:" * errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}}s:19:"base_url_applicaton";O:43:"phpDocumentor\Descriptor\PropertyDescriptor":15:{s:9:" * parent";r:33;s:8:" * types";N;s:10:" * default";s:4:"null";s:9:" * static";b:0;s:13:" * visibility";s:7:"private";s:8:" * fqsen";s:32:"\Controleur::base_url_applicaton";s:7:" * name";s:19:"base_url_applicaton";s:12:" * namespace";N;s:10:" * package";s:0:"";s:10:" * summary";s:52:"Objet URL contant l'url de la base de l'application.";s:14:" * description";s:0:"";s:17:" * fileDescriptor";N;s:7:" * line";i:33;s:7:" * tags";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:1:{s:3:"var";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}}}s:9:" * errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}}s:23:"parametres_obligatoires";O:43:"phpDocumentor\Descriptor\PropertyDescriptor":15:{s:9:" * parent";r:33;s:8:" * types";N;s:10:" * default";s:90:"array('chemin_modeles', 'chemin_squelettes', 'chemin_controleurs', 'base_url_application')";s:9:" * static";b:0;s:13:" * visibility";s:9:"protected";s:8:" * fqsen";s:36:"\Controleur::parametres_obligatoires";s:7:" * name";s:23:"parametres_obligatoires";s:12:" * namespace";N;s:10:" * package";s:0:"";s:10:" * summary";s:119:"Tableau des noms des paramètres à définir dans le fichier de config car obligatoirement nécessaire à cette classe.";s:14:" * description";s:0:"";s:17:" * fileDescriptor";N;s:7:" * line";i:36;s:7:" * tags";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:1:{s:3:"var";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}}}s:9:" * errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}}}}s:10:" * methods";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:7:{s:11:"__construct";O:41:"phpDocumentor\Descriptor\MethodDescriptor":16:{s:9:" * parent";r:33;s:11:" * abstract";b:0;s:8:" * final";b:0;s:9:" * static";b:0;s:13:" * visibility";s:6:"public";s:12:" * arguments";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}s:8:" * fqsen";s:26:"\Controleur::__construct()";s:7:" * name";s:11:"__construct";s:12:" * namespace";N;s:10:" * package";s:0:"";s:10:" * summary";s:24:"Constructeur par défaut";s:14:" * description";s:0:"";s:17:" * fileDescriptor";N;s:7:" * line";i:41;s:7:" * tags";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:2:{s:6:"return";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}s:5:"param";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}}}s:9:" * errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}}s:18:"getCheminSquelette";O:41:"phpDocumentor\Descriptor\MethodDescriptor":16:{s:9:" * parent";r:33;s:11:" * abstract";b:0;s:8:" * final";b:0;s:9:" * static";b:0;s:13:" * visibility";s:9:"protected";s:12:" * arguments";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}s:8:" * fqsen";s:33:"\Controleur::getCheminSquelette()";s:7:" * name";s:18:"getCheminSquelette";s:12:" * namespace";N;s:10:" * package";s:0:"";s:10:" * summary";s:52:"Permet de récupérer le chemin vers les squelettes.";s:14:" * description";s:0:"";s:17:" * fileDescriptor";N;s:7:" * line";i:67;s:7:" * tags";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:2:{s:6:"return";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:1:{i:0;O:45:"phpDocumentor\Descriptor\Tag\ReturnDescriptor":4:{s:8:" * types";a:1:{i:0;s:6:"String";}s:7:" * name";s:6:"return";s:14:" * description";s:34:"$chemin chemin vers les squelettes";s:9:" * errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}}}}s:5:"param";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}}}s:9:" * errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}}s:18:"setCheminSquelette";O:41:"phpDocumentor\Descriptor\MethodDescriptor":16:{s:9:" * parent";r:33;s:11:" * abstract";b:0;s:8:" * final";b:0;s:9:" * static";b:0;s:13:" * visibility";s:9:"protected";s:12:" * arguments";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:1:{s:7:"$chemin";O:43:"phpDocumentor\Descriptor\ArgumentDescriptor":13:{s:8:" * types";a:1:{i:0;s:6:"String";}s:10:" * default";N;s:14:" * byReference";b:0;s:8:" * fqsen";s:0:"";s:7:" * name";s:7:"$chemin";s:12:" * namespace";N;s:10:" * package";s:0:"";s:10:" * summary";s:0:"";s:14:" * description";s:26:"chemin vers les squelettes";s:17:" * fileDescriptor";N;s:7:" * line";i:0;s:7:" * tags";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}s:9:" * errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}}}}s:8:" * fqsen";s:33:"\Controleur::setCheminSquelette()";s:7:" * name";s:18:"setCheminSquelette";s:12:" * namespace";N;s:10:" * package";s:0:"";s:10:" * summary";s:63:"Permet de définir dynamiquement le chemin vers les squelettes.";s:14:" * description";s:0:"";s:17:" * fileDescriptor";N;s:7:" * line";i:76;s:7:" * tags";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:2:{s:5:"param";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:1:{i:0;O:44:"phpDocumentor\Descriptor\Tag\ParamDescriptor":5:{s:15:" * variableName";s:7:"$chemin";s:8:" * types";a:1:{i:0;s:6:"String";}s:7:" * name";s:5:"param";s:14:" * description";s:26:"chemin vers les squelettes";s:9:" * errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}}}}s:6:"return";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}}}s:9:" * errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}}s:13:"chargerModele";O:41:"phpDocumentor\Descriptor\MethodDescriptor":16:{s:9:" * parent";r:33;s:11:" * abstract";b:0;s:8:" * final";b:0;s:9:" * static";b:0;s:13:" * visibility";s:6:"public";s:12:" * arguments";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:1:{s:11:"$nom_modele";O:43:"phpDocumentor\Descriptor\ArgumentDescriptor":13:{s:8:" * types";a:1:{i:0;s:6:"string";}s:10:" * default";N;s:14:" * byReference";b:0;s:8:" * fqsen";s:0:"";s:7:" * name";s:11:"$nom_modele";s:12:" * namespace";N;s:10:" * package";s:0:"";s:10:" * summary";s:0:"";s:14:" * description";s:30:"le nom du modèle à  charger";s:17:" * fileDescriptor";N;s:7:" * line";i:0;s:7:" * tags";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}s:9:" * errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}}}}s:8:" * fqsen";s:28:"\Controleur::chargerModele()";s:7:" * name";s:13:"chargerModele";s:12:" * namespace";N;s:10:" * package";s:0:"";s:10:" * summary";s:77:"Charge un modele donné et le rend disponible sous la forme $this->nom_modele";s:14:" * description";s:0:"";s:17:" * fileDescriptor";N;s:7:" * line";i:87;s:7:" * tags";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:2:{s:5:"param";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:1:{i:0;O:44:"phpDocumentor\Descriptor\Tag\ParamDescriptor":5:{s:15:" * variableName";s:11:"$nom_modele";s:8:" * types";a:1:{i:0;s:6:"string";}s:7:" * name";s:5:"param";s:14:" * description";s:30:"le nom du modèle à  charger";s:9:" * errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}}}}s:6:"return";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:1:{i:0;O:45:"phpDocumentor\Descriptor\Tag\ReturnDescriptor":4:{s:8:" * types";a:1:{i:0;s:7:"boolean";}s:7:" * name";s:6:"return";s:14:" * description";s:46:"false si le chargement a échoué, sinon true.";s:9:" * errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}}}}}}s:9:" * errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}}s:9:"getModele";O:41:"phpDocumentor\Descriptor\MethodDescriptor":16:{s:9:" * parent";r:33;s:11:" * abstract";b:0;s:8:" * final";b:0;s:9:" * static";b:0;s:13:" * visibility";s:9:"protected";s:12:" * arguments";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:2:{s:11:"$nom_modele";O:43:"phpDocumentor\Descriptor\ArgumentDescriptor":13:{s:8:" * types";a:1:{i:0;s:6:"string";}s:10:" * default";N;s:14:" * byReference";b:0;s:8:" * fqsen";s:0:"";s:7:" * name";s:11:"$nom_modele";s:12:" * namespace";N;s:10:" * package";s:0:"";s:10:" * summary";s:0:"";s:14:" * description";s:56:"le nom du fichier modèle à charger sans son extension";s:17:" * fileDescriptor";N;s:7:" * line";i:0;s:7:" * tags";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}s:9:" * errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}}s:4:"$ext";O:43:"phpDocumentor\Descriptor\ArgumentDescriptor":13:{s:8:" * types";a:1:{i:0;s:6:"String";}s:10:" * default";s:6:"'.php'";s:14:" * byReference";b:0;s:8:" * fqsen";s:0:"";s:7:" * name";s:4:"$ext";s:12:" * namespace";N;s:10:" * package";s:0:"";s:10:" * summary";s:0:"";s:14:" * description";s:56:"l'extension du fichier du modèle (par défaut : ".php")";s:17:" * fileDescriptor";N;s:7:" * line";i:0;s:7:" * tags";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}s:9:" * errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}}}}s:8:" * fqsen";s:24:"\Controleur::getModele()";s:7:" * name";s:9:"getModele";s:12:" * namespace";N;s:10:" * package";s:0:"";s:10:" * summary";s:25:"Retourne un modele donné";s:14:" * description";s:0:"";s:17:" * fileDescriptor";N;s:7:" * line";i:108;s:7:" * tags";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:2:{s:5:"param";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:2:{i:0;O:44:"phpDocumentor\Descriptor\Tag\ParamDescriptor":5:{s:15:" * variableName";s:11:"$nom_modele";s:8:" * types";a:1:{i:0;s:6:"string";}s:7:" * name";s:5:"param";s:14:" * description";s:56:"le nom du fichier modèle à charger sans son extension";s:9:" * errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}}i:1;O:44:"phpDocumentor\Descriptor\Tag\ParamDescriptor":5:{s:15:" * variableName";s:4:"$ext";s:8:" * types";a:1:{i:0;s:6:"String";}s:7:" * name";s:5:"param";s:14:" * description";s:56:"l'extension du fichier du modèle (par défaut : ".php")";s:9:" * errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}}}}s:6:"return";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:1:{i:0;O:45:"phpDocumentor\Descriptor\Tag\ReturnDescriptor":4:{s:8:" * types";a:1:{i:0;s:5:"mixed";}s:7:" * name";s:6:"return";s:14:" * description";s:69:"false si le chargement a échoué, sinon l'objet du modèle demandé.";s:9:" * errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}}}}}}s:9:" * errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}}s:6:"getVue";O:41:"phpDocumentor\Descriptor\MethodDescriptor":16:{s:9:" * parent";r:33;s:11:" * abstract";b:0;s:8:" * final";b:0;s:9:" * static";b:0;s:13:" * visibility";s:9:"protected";s:12:" * arguments";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:2:{s:14:"$nom_squelette";O:43:"phpDocumentor\Descriptor\ArgumentDescriptor":13:{s:8:" * types";a:1:{i:0;s:6:"String";}s:10:" * default";N;s:14:" * byReference";b:0;s:8:" * fqsen";s:0:"";s:7:" * name";s:14:"$nom_squelette";s:12:" * namespace";N;s:10:" * package";s:0:"";s:10:" * summary";s:0:"";s:14:" * description";s:63:"le nom du squelette sans son extension si elle vaut ".tpl.html"";s:17:" * fileDescriptor";N;s:7:" * line";i:0;s:7:" * tags";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}s:9:" * errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}}s:8:"$donnees";O:43:"phpDocumentor\Descriptor\ArgumentDescriptor":13:{s:8:" * types";a:1:{i:0;s:5:"Array";}s:10:" * default";s:7:"array()";s:14:" * byReference";b:0;s:8:" * fqsen";s:0:"";s:7:" * name";s:8:"$donnees";s:12:" * namespace";N;s:10:" * package";s:0:"";s:10:" * summary";s:0:"";s:14:" * description";s:68:"un tableau associatif contenant les variables a injecter dans la vue";s:17:" * fileDescriptor";N;s:7:" * line";i:0;s:7:" * tags";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}s:9:" * errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}}}}s:8:" * fqsen";s:21:"\Controleur::getVue()";s:7:" * name";s:6:"getVue";s:12:" * namespace";N;s:10:" * package";s:0:"";s:10:" * summary";s:181:"Fonction prenant en paramètre le nom d'un squelette et un tableau associatif de données,
en extrait les variables, charge le squelette et retourne le résultat des deux combinés.";s:14:" * description";s:0:"";s:17:" * fileDescriptor";N;s:7:" * line";i:131;s:7:" * tags";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:3:{s:5:"param";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:2:{i:0;O:44:"phpDocumentor\Descriptor\Tag\ParamDescriptor":5:{s:15:" * variableName";s:14:"$nom_squelette";s:8:" * types";a:1:{i:0;s:6:"String";}s:7:" * name";s:5:"param";s:14:" * description";s:63:"le nom du squelette sans son extension si elle vaut ".tpl.html"";s:9:" * errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}}i:1;O:44:"phpDocumentor\Descriptor\Tag\ParamDescriptor":5:{s:15:" * variableName";s:8:"$donnees";s:8:" * types";a:1:{i:0;s:5:"Array";}s:7:" * name";s:5:"param";s:14:" * description";s:68:"un tableau associatif contenant les variables a injecter dans la vue";s:9:" * errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}}}}s:5:"since";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:1:{i:0;O:44:"phpDocumentor\Descriptor\Tag\SinceDescriptor":4:{s:10:" * version";s:3:"0.4";s:7:" * name";s:5:"since";s:14:" * description";s:81:"suppression du paramètre 'ext' => le mettre directement dans le nom du squelette";s:9:" * errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}}}}s:6:"return";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:1:{i:0;O:45:"phpDocumentor\Descriptor\Tag\ReturnDescriptor":4:{s:8:" * types";a:1:{i:0;s:7:"boolean";}s:7:" * name";s:6:"return";s:14:" * description";s:56:"false si la vue n'existe pas, sinon la chaine résultat.";s:9:" * errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}}}}}}s:9:" * errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}}s:17:"preTraiterDonnees";O:41:"phpDocumentor\Descriptor\MethodDescriptor":16:{s:9:" * parent";r:33;s:11:" * abstract";b:0;s:8:" * final";b:0;s:9:" * static";b:0;s:13:" * visibility";s:9:"protected";s:12:" * arguments";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:1:{s:8:"$donnees";O:43:"phpDocumentor\Descriptor\ArgumentDescriptor":13:{s:8:" * types";a:1:{i:0;s:5:"Array";}s:10:" * default";N;s:14:" * byReference";b:1;s:8:" * fqsen";s:0:"";s:7:" * name";s:8:"$donnees";s:12:" * namespace";N;s:10:" * package";s:0:"";s:10:" * summary";s:0:"";s:14:" * description";s:33:"Le tableau de données à traiter";s:17:" * fileDescriptor";N;s:7:" * line";i:0;s:7:" * tags";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}s:9:" * errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}}}}s:8:" * fqsen";s:32:"\Controleur::preTraiterDonnees()";s:7:" * name";s:17:"preTraiterDonnees";s:12:" * namespace";N;s:10:" * package";s:0:"";s:10:" * summary";s:89:"Fonction prenant en paramètre un tableau de données et effectuant un traitement dessus.";s:14:" * description";s:119:"Cette fonction est à surcharger dans les classes filles pour automatiser un traitement
avant chaque chargement de vue.";s:17:" * fileDescriptor";N;s:7:" * line";i:151;s:7:" * tags";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:2:{s:5:"param";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:1:{i:0;O:44:"phpDocumentor\Descriptor\Tag\ParamDescriptor":5:{s:15:" * variableName";s:8:"$donnees";s:8:" * types";a:1:{i:0;s:5:"Array";}s:7:" * name";s:5:"param";s:14:" * description";s:33:"Le tableau de données à traiter";s:9:" * errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}}}}s:6:"return";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:1:{i:0;O:45:"phpDocumentor\Descriptor\Tag\ReturnDescriptor":4:{s:8:" * types";a:1:{i:0;s:5:"Array";}s:7:" * name";s:6:"return";s:14:" * description";s:39:"$donnees Le tableau de données traité";s:9:" * errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}}}}}}s:9:" * errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}}}}s:13:" * usedTraits";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}s:8:" * fqsen";s:11:"\Controleur";s:7:" * name";s:10:"Controleur";s:12:" * namespace";s:0:"";s:10:" * package";s:9:"Framework";s:10:" * summary";s:139:"Classe Controleur, coeur d'une application, c'est normalement la seule classe d'une application
qui devrait être appelée de l'extérieur.";s:14:" * description";s:60:"Elle est abstraite donc doit obligatoirement être étendue.";s:17:" * fileDescriptor";r:1;s:7:" * line";i:19;s:7:" * tags";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:8:{s:8:"category";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:1:{i:0;O:38:"phpDocumentor\Descriptor\TagDescriptor":3:{s:7:" * name";s:8:"category";s:14:" * description";s:7:"php 5.2";s:9:" * errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}}}}s:7:"package";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:1:{i:0;O:38:"phpDocumentor\Descriptor\TagDescriptor":3:{s:7:" * name";s:7:"package";s:14:" * description";s:9:"Framework";s:9:" * errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}}}}s:6:"author";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:2:{i:0;O:45:"phpDocumentor\Descriptor\Tag\AuthorDescriptor":3:{s:7:" * name";s:6:"author";s:14:" * description";s:47:"Aurélien PERONNET <aurelien@tela-botanica.org>";s:9:" * errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}}i:1;O:45:"phpDocumentor\Descriptor\Tag\AuthorDescriptor":3:{s:7:" * name";s:6:"author";s:14:" * description";s:43:"Jean-Pascal MILCENT <jpm@tela-botanica.org>";s:9:" * errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}}}}s:9:"copyright";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:1:{i:0;O:38:"phpDocumentor\Descriptor\TagDescriptor":3:{s:7:" * name";s:9:"copyright";s:14:" * description";s:61:"Copyright (c) 2009, Tela Botanica (accueil@tela-botanica.org)";s:9:" * errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}}}}s:7:"license";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:2:{i:0;O:38:"phpDocumentor\Descriptor\TagDescriptor":3:{s:7:" * name";s:7:"license";s:14:" * description";s:71:"http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL";s:9:" * errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}}i:1;O:38:"phpDocumentor\Descriptor\TagDescriptor":3:{s:7:" * name";s:7:"license";s:14:" * description";s:52:"http://www.gnu.org/licenses/gpl.html Licence GNU-GPL";s:9:" * errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}}}}s:7:"version";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:1:{i:0;O:46:"phpDocumentor\Descriptor\Tag\VersionDescriptor":4:{s:10:" * version";s:0:"";s:7:" * name";s:7:"version";s:14:" * description";s:50:"$Id: Controleur.php 415 2012-04-04 09:05:55Z jpm $";s:9:" * errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}}}}s:4:"link";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:1:{i:0;O:43:"phpDocumentor\Descriptor\Tag\LinkDescriptor":4:{s:7:" * link";s:15:"/doc/framework/";s:7:" * name";s:4:"link";s:14:" * description";s:15:"/doc/framework/";s:9:" * errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}}}}s:10:"subpackage";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}}}s:9:" * errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}}}}s:13:" * interfaces";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}s:9:" * traits";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}s:10:" * markers";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}s:8:" * fqsen";s:0:"";s:7:" * name";s:14:"Controleur.php";s:12:" * namespace";N;s:10:" * package";s:7:"Default";s:10:" * summary";s:0:"";s:14:" * description";s:0:"";s:17:" * fileDescriptor";N;s:7:" * line";i:0;s:7:" * tags";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:2:{s:7:"package";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}s:10:"subpackage";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:0:{}}}}s:9:" * errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:" * items";a:1:{i:0;O:40:"phpDocumentor\Descriptor\Validator\Error":4:{s:11:" * severity";s:5:"error";s:7:" * code";s:13:"PPC:ERR-50000";s:7:" * line";i:0;s:10:" * context";a:1:{i:0;s:0:"";}}}}}