From 32ae70f3981f7888db9c56e137ee65dcea4af89b Mon Sep 17 00:00:00 2001 From: Daniel Rudolf Date: Sat, 5 Aug 2017 00:19:03 +0200 Subject: [PATCH] Add $default param to getConfig() method - Pico::getConfig() - AbstractPicoPlugin::getPluginCongif() --- lib/AbstractPicoPlugin.php | 25 +++++++++++++------------ lib/Pico.php | 13 ++++++++----- 2 files changed, 21 insertions(+), 17 deletions(-) diff --git a/lib/AbstractPicoPlugin.php b/lib/AbstractPicoPlugin.php index 7c8b5f8..d01033a 100644 --- a/lib/AbstractPicoPlugin.php +++ b/lib/AbstractPicoPlugin.php @@ -150,22 +150,23 @@ abstract class AbstractPicoPlugin implements PicoPluginInterface * the config array * * @param string $configName optional name of a config variable - * @return mixed returns either the value of the named plugin - * config variable, null if the config variable doesn't exist or the - * plugin's config array if no config name was supplied + * @param mixed $default optional default value to return when the + * named config variable doesn't exist + * @return mixed if no name of a config variable has been + * supplied, the plugin's config array is returned; otherwise it + * returns either the value of the named config variable, or, if the + * named config variable doesn't exist, the provided default value + * or NULL */ - public function getPluginConfig($configName = null) + public function getPluginConfig($configName = null, $default = null) { - $pluginConfig = $this->getConfig(get_called_class()); - if ($pluginConfig) { - if ($configName === null) { - return $pluginConfig; - } elseif (isset($pluginConfig[$configName])) { - return $pluginConfig[$configName]; - } + $pluginConfig = $this->getConfig(get_called_class(), array()); + + if ($configName === null) { + return $pluginConfig; } - return null; + return isset($pluginConfig[$configName]) ? $pluginConfig[$configName] : $default; } /** diff --git a/lib/Pico.php b/lib/Pico.php index f936de1..f1ddfb9 100644 --- a/lib/Pico.php +++ b/lib/Pico.php @@ -901,14 +901,17 @@ class Pico * @see Pico::setConfig() * @see Pico::loadConfig() * @param string $configName optional name of a config variable - * @return mixed returns either the value of the named config - * variable, null if the config variable doesn't exist or the config - * array if no config name was supplied + * @param mixed $default optional default value to return when the + * named config variable doesn't exist + * @return mixed if no name of a config variable has been + * supplied, the config array is returned; otherwise it returns either + * the value of the named config variable, or, if the named config + * variable doesn't exist, the provided default value or NULL */ - public function getConfig($configName = null) + public function getConfig($configName = null, $default = null) { if ($configName !== null) { - return isset($this->config[$configName]) ? $this->config[$configName] : null; + return isset($this->config[$configName]) ? $this->config[$configName] : $default; } else { return $this->config; }