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"]];
 | 
						|
}
 |