<?php abstract class Module { /** * Liste des paramètres du module en concordance avec le "config.xml" * Ses éléments ne peuvent être modifiés * @var array */ protected static $paramsList = array(); /** * Liste des paramètres et leurs valeurs de l'object * * @var array */ public $params = array(); private function setParams($params){ $this->params = $params; } abstract static function start($params); public static function updateConfig($updated){ foreach ($updated as $what=>$withWhat){ if(in_array($what, self::$paramsList)){ call_user_func(array(get_class(), "set".ucfirst($what)), $withWhat); } } } }