/** * Constructeur. * * @param boolean $bAutoInit Si vaut FALSE, aucune initialiation des propriétés n'est réalisée. * Si vaut TRUE, deux cas de figure : * <ul> * <li>une instance principale de configuration du projet existe dèjà : les propriétés de l'instance principale sont copiées dans la nouvelle instance</li> * <li>aucune instance principale de configuration du projet n'existe : les propriétés de la nouvelle instance sont initialisées à partir de l'ananlyse du projet</li> * </ul> */ public function __construct($bAutoInit = false) { if ($bAutoInit) { if (static::$_oMainConfig) { $this->setProperty(static::$_oMainConfig->getProperty()); } else { // On définit l'environnement du projet $this->setEnv(self::detectEnv()); // On définit le code du projet $sProjectCode = self::detectCode(); if ($sProjectCode) { $this->setCode($sProjectCode); } // On définit les chemins du projet $aPaths = self::detectPath(); if ($aPaths) { $this->setPath($aPaths); } } } }
/** * Rend disponible les variables de la route. */ protected function _extractVars() { foreach ($this->_aParams as $cRoutePathType => $aVars) { foreach ($aVars as $sName => $sValue) { switch ($cRoutePathType) { case AbstractRouting::VAR_GET: $_REQUEST[$sName] = $_GET[$sName] = $sValue; break; case AbstractRouting::VAR_POST: $_REQUEST[$sName] = $_POST[$sName] = $sValue; break; case AbstractRouting::VAR_VAR: eval("global \${$sName}; \${$sName} = '{$sValue}';"); break; case AbstractRouting::VAR_CONST: define($sName, $sValue); break; case AbstractRouting::VAR_CONF: \Aouka\Project\Config::get()->setProperty($sName, $sValue); } } } }