Exakat\Reports\Ambassador::generateDocumentation PHP Метод

generateDocumentation() приватный Метод

private generateDocumentation ( )
    private function generateDocumentation()
    {
        $datas = array();
        $baseHTML = $this->getBasedPage("analyzers_doc");
        $analyzersDocHTML = "";
        foreach (Analyzer::getThemeAnalyzers($this->themesToShow) as $analyzer) {
            $analyzer = Analyzer::getInstance($analyzer);
            $description = $analyzer->getDescription();
            $analyzersDocHTML .= '<h2><a href="issues.html?analyzer=' . md5($description->getName()) . '">' . $description->getName() . '</a></h2>';
            $badges = array();
            $v = $description->getVersionAdded();
            if (!empty($v)) {
                $badges[] = '[Since ' . $v . ']';
            }
            $badges[] = '[ -P ' . $analyzer->getInBaseName() . ' ]';
            $versionCompatibility = $analyzer->getPhpversion();
            if ($versionCompatibility !== Analyzer::PHP_VERSION_ANY) {
                if (strpos($versionCompatibility, '+') !== false) {
                    $versionCompatibility = substr($versionCompatibility, 0, -1) . ' and more recent ';
                } elseif (strpos($versionCompatibility, '-') !== false) {
                    $versionCompatibility = ' older than ' . substr($versionCompatibility, 0, -1);
                }
                $badges[] = '[ PHP ' . $versionCompatibility . ']';
            }
            $analyzersDocHTML .= '<p>' . implode(' - ', $badges) . '</p>';
            $analyzersDocHTML .= '<p>' . $this->setPHPBlocs($description->getDescription()) . '</p>';
            $v = $description->getClearPHP();
            if (!empty($v)) {
                $analyzersDocHTML .= '<p>This rule is named <a target="_blank" href="https://github.com/dseguy/clearPHP/blob/master/rules/' . $description->getClearPHP() . '.md">' . $description->getClearPHP() . '</a>, in the clearPHP reference.</p>';
            }
        }
        $finalHTML = $this->injectBloc($baseHTML, "BLOC-ANALYZERS", $analyzersDocHTML);
        $finalHTML = $this->injectBloc($finalHTML, "BLOC-JS", '<script src="scripts/highlight.pack.js"></script>');
        $this->putBasedPage('analyzers_doc', $finalHTML);
    }