lib/Bob/Application.php
protected function loadConfig()
    {
        $rootConfigPath = false;

        foreach ((array) $this['config.file'] as $file) {
            $rootConfigPath = ConfigFile::findConfigFile($file, getcwd());

            if (false !== $rootConfigPath) {
                break;
            }
        }

        if (false === $rootConfigPath) {
            $this['log']->err(sprintf(
                "Filesystem boundary reached, none of %s found.\n",
                json_encode((array) $this['config.file'])
            ));
            return false;
        }

        $this->loadConfigFile($rootConfigPath);

        # Save the original working directory, the working directory
        # gets set to the project directory while running tasks.
        $this->originalDirectory = getcwd();

        # The project dir is the directory of the root config.
        $this->projectDirectory = dirname($rootConfigPath);

        # Search for additional configs in the config load paths
        $configLoadPath = array_filter($this['config.load_path'], 'is_dir');

        if ($configLoadPath) {
            $cwd = getcwd();
            chdir($this->projectDirectory);

            $finder = Finder::create()
                ->files()->name("*.php")
                ->in($configLoadPath);

            foreach ($finder as $file) {
                $this->loadConfigFile($file);
            }

            chdir($cwd);
        }

        return true;
    }
protected function loadConfig()
    {
        $rootConfigPath = false;

        foreach ((array) $this['config.file'] as $file) {
            $rootConfigPath = ConfigFile::findConfigFile($file, getcwd());

            if (false !== $rootConfigPath) {
                break;
            }
        }

        if (false === $rootConfigPath) {
            $this['log']->err(sprintf(
                "Filesystem boundary reached, none of %s found.\n",
                json_encode((array) $this['config.file'])
            ));
            return false;
        }

        $this->loadConfigFile($rootConfigPath);

        # Save the original working directory, the working directory
        # gets set to the project directory while running tasks.
        $this->originalDirectory = getcwd();

        # The project dir is the directory of the root config.
        $this->projectDirectory = dirname($rootConfigPath);

        # Search for additional configs in the config load paths
        $configLoadPath = array_filter($this['config.load_path'], 'is_dir');

        if ($configLoadPath) {
            $cwd = getcwd();
            chdir($this->projectDirectory);

            $finder = Finder::create()
                ->files()->name("*.php")
                ->in($configLoadPath);

            foreach ($finder as $file) {
                $this->loadConfigFile($file);
            }

            chdir($cwd);
        }

        return true;
    }
# Returns nothing.