public function has($key)
    {
        $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 true;
            }

            if (!is_array($conf) || !array_key_exists($test, $conf)) {
                return false;
            }

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

        return true;
    }
public function has($key)
    {
        $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 true;
            }

            if (!is_array($conf) || !array_key_exists($test, $conf)) {
                return false;
            }

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

        return true;
    }
{@inheritdoc}