From 82346bc36f00640a36d24061a871c7c3f68eaaaf Mon Sep 17 00:00:00 2001 From: Norbert Wagner Date: Thu, 21 Sep 2023 09:17:26 +0200 Subject: [PATCH 1/2] output errors to STDERR --- bin/cfg | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/bin/cfg b/bin/cfg index a7f7b9d..78e84c5 100755 --- a/bin/cfg +++ b/bin/cfg @@ -22,7 +22,7 @@ foreach ($autoloadFiles as $autoloadFile) { } } -$version = '0.2'; +$version = '0.3'; $actions = [ 'show', 'write', 'help' ]; $settings = ['key' => '', 'value' => '']; @@ -158,7 +158,7 @@ try { exit(0); } } - echo $ex->getMessage().PHP_EOL; + fwrite(STDERR, $ex->getMessage().PHP_EOL); exit(1); } @@ -204,7 +204,7 @@ try { $cfg->load(require($cfgFile)); } } catch (Exception $e) { - echo "Error: ".$e->getMessage()."\n"; + fwrite(STDERR, "Error: ".$e->getMessage().PHP_EOL); exit(1); } //var_dump($cfg); @@ -220,7 +220,7 @@ if ($settings['key']) $result = $result->{$setting}; } catch (\OutOfRangeException $e) { - echo $e->getMessage().PHP_EOL; + fwrite(STDERR, $e->getMessage().PHP_EOL); exit(1); } } From 942f8a4bde1b4b7e8e3d7d1d980acb2ad3d76dc0 Mon Sep 17 00:00:00 2001 From: Norbert Wagner Date: Thu, 21 Sep 2023 09:18:05 +0200 Subject: [PATCH 2/2] make Settings countable --- src/Settings.php | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/Settings.php b/src/Settings.php index d248051..6ffaa7e 100644 --- a/src/Settings.php +++ b/src/Settings.php @@ -26,7 +26,7 @@ namespace rabe\Util; * Settings Class to read Configuration Files * @author Norbert.e.Wagner dev@norb.me */ -class Settings implements \Iterator +class Settings implements \Iterator, \Countable { private const SITE = 0x01; @@ -314,6 +314,17 @@ class Settings implements \Iterator // }}} + // Countable {{{ + /** + * Count elements + * @link https://www.php.net/countable.count.php + */ + public function count() + { + count($this->settings); + } + // }}} + // Magic getter/setter methods {{{ public function __set( $name, $value ) {