Пример #1
0
function do_related_functions($func)
{
    $functions = '';
    $GLOBALS['functions'] = get_func_info();
    foreach ($GLOBALS['functions'] as $name => $function) {
        if ($func & $function['function']) {
            $functions .= "<a name='{$name}'></a>\n";
            $functions .= "<hr class='light'/>\n";
            $text = add_links($function['short_desc']);
            if ($function['arguments'] === 'none') {
                $functions .= "<div class='name'><span class='type'>{$function['return_type']}</span> {$name}()</div>\n";
            } else {
                $functions .= "<div class='name'><span class='type'>{$function['return_type']}</span> {$name}( <span class='type'>{$function['arguments']}</span> )</div>\n";
            }
            $functions .= "<div class='short-description'>{$text}</div>\n";
            if (isset($function['version'])) {
                $functions .= "<div class='version'>Introduced in version {$function['version']}</div>\n";
            }
            $functions .= "<div class='description'>\n";
            $functions .= $function['data'];
            $functions .= "</div>\n";
        }
    }
    if (empty($functions)) {
        return;
    }
    echo '<h2>Related Functions</h2>';
    echo "<div class='functions'>\n";
    echo $functions;
    echo "</div>\n";
    echo "<hr />\n";
}
Пример #2
0
        }
    }
    $arr['args'] = $args;
    return $arr;
}
$ret = array('preamble' => '', 'consts' => array(), 'funcs' => array(), 'classes' => array());
$funcs = phpnet_get_extension_functions($name);
foreach ($funcs as $func) {
    print "Importing {$func}\n";
    $ret['funcs'][] = get_func_info($func);
}
$consts = phpnet_get_extension_constants($name);
foreach ($consts as $const) {
    if (!defined($const)) {
        var_dump("Undefined: {$const}. Try using Zend to run this script");
        continue;
    }
    $ret['consts'][] = array('name' => $const, 'value' => constant($const));
}
$classes = phpnet_get_extension_classes($name);
foreach ($classes as $class) {
    print "Importing {$class}\n";
    $info = phpnet_get_class_info($class);
    $arr = array('name' => $class, 'desc' => idx($info, 'desc'), 'flags' => array('ZendCompat'), 'parent' => idx($info, 'parent'), 'funcs' => array());
    foreach (array_unique($info['funcs']) as $func) {
        print "Importing {$class}::{$func}\n";
        $arr['funcs'][] = get_func_info($func, $class);
    }
    $ret['classes'][] = $arr;
}
file_put_contents("{$name}.idl.json", json_encode($ret, JSON_PRETTY_PRINT));