Пример #1
0
 */
function writeDocFile($namespace, $docs)
{
    $template_helper = new \Terminus\Helpers\TemplateHelper(['command' => null]);
    $filename = TERMINUS_ROOT . '/docs/' . str_replace(array('Terminus\\', '\\'), array('', '/'), $namespace) . '.md';
    $rendered_doc = $template_helper->render(['template_name' => 'doc.twig', 'data' => $docs, 'options' => ['namespace' => $namespace]]);
    file_put_contents($filename, $rendered_doc);
    return true;
}
$library_files = array_merge(getFiles(TERMINUS_ROOT . '/php/Terminus/Models'), getFiles(TERMINUS_ROOT . '/php/Terminus/Outputters'), getFiles(TERMINUS_ROOT . '/php/Terminus/Helpers'));
$tokenized_files = array();
foreach ($library_files as $filename) {
    $namespace = str_replace(array(TERMINUS_ROOT . '/php/', '.php', '/'), array('', '', '\\'), $filename);
    $tokenized_files[$namespace] = getTokens($filename);
}
$file_functions = array();
foreach ($tokenized_files as $namespace => $tokens) {
    $file_functions[$namespace] = findTokenPatterns($tokens);
}
$documentation = array();
foreach ($file_functions as $namespace => $functions) {
    if (!empty($functions)) {
        $documentation[$namespace] = array();
        foreach ($functions as $name => $function) {
            $documentation[$namespace][$name] = parseDocs($function['T_DOC_COMMENT']);
        }
    }
}
foreach ($documentation as $namespace => $data) {
    writeDocFile($namespace, $data);
}
Пример #2
0
function createPropertyDoc($rProperty)
{
    echo "===`" . $rProperty->getName() . "`===\n";
    echo "\n";
    $docs = parseDocs($rProperty->getDocComment());
    $visibility = 'public';
    if ($rProperty->isProtected()) {
        $visibility = 'protected';
    }
    if ($rProperty->isPrivate()) {
        $visibility = 'private';
    }
    echo "{{{\n";
    echo $visibility . " " . $rProperty->class . "::\$" . $rProperty->getName();
    echo "\n}}}\n";
    echo "\n";
    echo $docs['description'] . "\n";
    echo "\n";
    $hasProp = false;
    if (isset($docs['deprecated'])) {
        echo "  * *Warning: This property is deprecated, and should not longer be used.*\n";
        $hasProp = true;
    }
    if ($rProperty->isProtected()) {
        echo "  * This property is protected.\n";
        $hasProp = true;
    }
    if ($rProperty->isPrivate()) {
        echo "  * This property is private.\n";
        $hasProp = true;
    }
    if ($rProperty->isStatic()) {
        echo "  * This property is static.\n";
        $hasProp = true;
    }
    if ($hasProp) {
        echo "\n";
    }
}