Graby\SiteConfig\ConfigBuilder::buildForHost PHP Method

buildForHost() public method

Use buildFromUrl if you have an url.
public buildForHost ( string $host, boolean $addToCache = true ) : SiteConfig
$host string Host, like en.wikipedia.org
$addToCache boolean
return SiteConfig
    public function buildForHost($host, $addToCache = true)
    {
        $host = strtolower($host);
        if (substr($host, 0, 4) == 'www.') {
            $host = substr($host, 4);
        }
        // is merged version already cached?
        $cachedSiteConfig = $this->getCachedVersion($host . '.merged');
        if (false !== $cachedSiteConfig) {
            $this->logger->log('debug', 'Returning cached and merged site config for {host}', array('host' => $host));
            return $cachedSiteConfig;
        }
        // let's build it
        $config = $this->loadSiteConfig($host);
        if ($addToCache && false !== $config && false === $this->getCachedVersion($host)) {
            $this->addToCache($host, $config);
        }
        // if no match, use defaults
        if (false === $config) {
            $config = $this->create();
        }
        // load global config?
        $configGlobal = $this->loadSiteConfig('global', true);
        if ($config->autodetect_on_failure() && false !== $configGlobal) {
            $this->logger->log('debug', 'Appending site config settings from global.txt');
            $this->mergeConfig($config, $configGlobal);
            if ($addToCache && false === $this->getCachedVersion('global')) {
                $this->addToCache('global', $configGlobal);
            }
        }
        // store copy of merged config
        if ($addToCache) {
            $config->cache_key = null;
            $this->addToCache($host . '.merged', $config);
        }
        return $config;
    }