From 1766952a8499919a1275b0214f6ebda8dfc812e2 Mon Sep 17 00:00:00 2001 From: polo Date: Mon, 6 Mar 2023 12:54:43 +0100 Subject: =?UTF-8?q?Config.ini=20renseigner=20''=20=3D=20valeur=20par=20d?= =?UTF-8?q?=C3=A9faut?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Config.php | 63 ++++++++++++++++++++++++++++++++-------------------------- 1 file changed, 35 insertions(+), 28 deletions(-) (limited to 'src/Config.php') diff --git a/src/Config.php b/src/Config.php index 1557705..3e2b204 100644 --- a/src/Config.php +++ b/src/Config.php @@ -36,6 +36,41 @@ class Config self::$raw_data = parse_ini_file($file_path); } + static public function hydrate() + { + foreach(self::$raw_data as $field => $value) + { + if($value != '') // valeur par défaut + { + if(isset(self::$$field)) // vérification du nom du champ + { + // vérification du contenu + if(self::fieldIsPath($field)) // cas où le champ db_path, latex_path, pdf_path ou pub_path + { + if(self::checkPath($field, $value)) + { + $value = self::slashAtEndOfPath($value); + self::$$field = $value; + } + } + else // tester le reste? + { + self::$$field = $value; + } + // else: la valeur par défaut est conservée + } + else + { + echo "debug: le fichier config.ini comporte une erreur, le champ: " . $field . " est incorrect,\nl'information contenue sur cette ligne ne sera pas utilisée\n"; + } + } + else + { + echo "debug: le champ " . $field . " est vide, la valeur par défaut " . self::$$field . " sera utilisée.\n"; + } + } + } + static private function fieldIsPath($field): bool { if($field === 'db_path' || $field === 'latex_path' || $field === 'pdf_path' || $field === 'pub_path') @@ -82,34 +117,6 @@ class Config } } - static public function hydrate() - { - foreach(self::$raw_data as $field => $value) - { - if(isset(self::$$field)) // vérification du nom du champ - { - // vérification du contenu - if(self::fieldIsPath($field)) // cas où le champ db_path, latex_path, pdf_path ou pub_path - { - if(self::checkPath($field, $value)) - { - $value = self::slashAtEndOfPath($value); - self::$$field = $value; - } - } - else // tester le reste? - { - self::$$field = $value; - } - // else: la valeur par défaut est conservée - } - else - { - echo "debug: le fichier config.ini comporte une erreur, le champ: " . $field . " est incorrect,\nl'information contenue sur cette ligne ne sera pas utilisée\n"; - } - } - } - // à faire plus tard // transformer les chemins pour qu'ils soient relatifs au dossier 'src' où s'exécute le programme static private function adjustRelativePath($input) -- cgit v1.2.3