36 lines
1.1 KiB
PHP
36 lines
1.1 KiB
PHP
<?php
|
|
namespace nur\b\params;
|
|
|
|
use nur\b\IllegalAccessException;
|
|
|
|
/**
|
|
* Class Parametrable: classe de base pour un objet paramétrable
|
|
*/
|
|
abstract class Parametrable implements IParametrable {
|
|
use Tparametrable1;
|
|
|
|
const PARAMETRABLE_PARAMS_SCHEMA = [];
|
|
|
|
function __construct(?array $params=null) {
|
|
$this->initParametrableParams($params);
|
|
}
|
|
|
|
#############################################################################
|
|
function __call(string $name, array $args) {
|
|
if ($this->parametrable__call($name, $args, $result)) return $result;
|
|
throw IllegalAccessException::not_implemented($name);
|
|
}
|
|
static function _AUTOGEN_CONSTS(?string $class=null, bool $dynamicSchema=false): array {
|
|
return parametrable_utils::_AUTOGEN_CONSTS(
|
|
static::_get_parametrable_params_schema()
|
|
, $class
|
|
, $dynamicSchema);
|
|
}
|
|
const _AUTOGEN_LITERALS = null;
|
|
const _AUTOGEN_METHODS = null;
|
|
const _AUTO_GETTERS = null;
|
|
const _AUTO_SETTERS = null;
|
|
## Ajouter ceci dans la classe dérivée
|
|
#const _AUTOGEN_CONSTS = ["" => [self::class, "_AUTOGEN_CONSTS"]];
|
|
}
|