public function get($key = null, $default = null)
    {
        if (!$key) {
            return $default;
        }

        $conf =& $this->conf;
        $keys = explode('.', $key);

        foreach ($keys as $test) {
            $direct = implode('.', $keys);

            // Check for a direct match, containing dot
            if (is_array($conf) && array_key_exists($direct, $conf)) {
                return $conf[$direct];
            }

            if (!is_array($conf) || !array_key_exists($test, $conf)) {
                // No hit, return the default
                return $default;
            }

            $conf =& $conf[$test];
            array_shift($keys);
        }

        return $conf;
    }
public function get($key = null, $default = null)
    {
        if (!$key) {
            return $default;
        }

        $conf =& $this->conf;
        $keys = explode('.', $key);

        foreach ($keys as $test) {
            $direct = implode('.', $keys);

            // Check for a direct match, containing dot
            if (is_array($conf) && array_key_exists($direct, $conf)) {
                return $conf[$direct];
            }

            if (!is_array($conf) || !array_key_exists($test, $conf)) {
                // No hit, return the default
                return $default;
            }

            $conf =& $conf[$test];
            array_shift($keys);
        }

        return $conf;
    }
{@inheritdoc}