Explorar o código

Add $default param to getConfig() method

- Pico::getConfig()
- AbstractPicoPlugin::getPluginCongif()
Daniel Rudolf %!s(int64=8) %!d(string=hai) anos
pai
achega
32ae70f398
Modificáronse 2 ficheiros con 22 adicións e 18 borrados
  1. 13 12
      lib/AbstractPicoPlugin.php
  2. 9 6
      lib/Pico.php

+ 13 - 12
lib/AbstractPicoPlugin.php

@@ -150,22 +150,23 @@ abstract class AbstractPicoPlugin implements PicoPluginInterface
      * the config array
      * the config array
      *
      *
      * @param  string $configName optional name of a config variable
      * @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;
     }
     }
 
 
     /**
     /**

+ 9 - 6
lib/Pico.php

@@ -901,14 +901,17 @@ class Pico
      * @see    Pico::setConfig()
      * @see    Pico::setConfig()
      * @see    Pico::loadConfig()
      * @see    Pico::loadConfig()
      * @param  string $configName optional name of a config variable
      * @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
-     */
-    public function getConfig($configName = null)
+     * @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, $default = null)
     {
     {
         if ($configName !== null) {
         if ($configName !== null) {
-            return isset($this->config[$configName]) ? $this->config[$configName] : null;
+            return isset($this->config[$configName]) ? $this->config[$configName] : $default;
         } else {
         } else {
             return $this->config;
             return $this->config;
         }
         }