Accueil/class/Module.php

41 lines
908 B
PHP

<?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();
// Nom du module (aka le nom de la classe en minuscule)
protected $moduleName;
// Libellé du module (aka le nom affiché)
protected $moduleTitle;
// Le chemin vers le module
protected $pathToModule;
/**
* 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);
}
}
}
}