示例#1
0
 /**
  * Get all classes and methods of files in a list.
  *
  * >  I personally don't like this as it was used on the index page.  Way too much stuff on one page.  It has potential for a package index page though.
  * >  For example:  class_methods( Kohana::list_files('classes/sprig') ) could make a nice index page for the sprig package in the api browser
  * >     ~bluehawk
  *
  */
 public static function class_methods(array $list = NULL)
 {
     $list = Docs::classes($list);
     $classes = array();
     foreach ($list as $class) {
         $_class = new ReflectionClass($class);
         if (stripos($_class->name, 'MyQEE') === 0) {
             // Skip the extension stuff stuff
             continue;
         }
         $methods = array();
         foreach ($_class->getMethods() as $_method) {
             $declares = $_method->getDeclaringClass()->name;
             if (stripos($declares, 'MyQEE') === 0) {
                 // Remove "Kohana_"
                 $declares = substr($declares, 7);
             }
             if ($declares === $_class->name) {
                 $methods[] = $_method->name;
             }
         }
         sort($methods);
         $classes[$_class->name] = $methods;
     }
     return $classes;
 }
示例#2
0
loader_import('docs.Docs');
loader_import('docs.Filters');
loader_import('docs.Functions');
$data = array();
$data['packages'] = docs_cache('packages');
if (!is_array($data['packages'])) {
    $data['packages'] = docs_cache_store(Docs::packages($parameters['current']), 'packages');
}
if (strpos($parameters['package'], '.') !== false) {
    if (!in_array($parameters['package'], $data['packages']) && $data['package'] != $data['current']) {
        die('Invalid package!');
    }
    $data['package'] = $parameters['package'];
    $data['classes'] = docs_cache('classes', $parameters['package']);
    if (!is_array($data['classes'])) {
        $data['classes'] = docs_cache_store(Docs::classes($parameters['package']), 'classes', $parameters['package']);
    }
    $data['functions'] = docs_cache('functions', $parameters['package']);
    if (!is_array($data['functions'])) {
        $data['functions'] = docs_cache_store(Docs::functions($parameters['package']), 'functions', $parameters['package']);
    }
    if ($parameters['class']) {
        if (!Docs::isClass($parameters['class'], $data['classes'])) {
            die('Invalid class!');
        }
        $data['class'] = $parameters['class'];
        if ($parameters['class'] == '_functions_') {
            $functions = docs_cache('func_data', $parameters['package']);
            if (!is_array($functions)) {
                $functions = docs_cache_store(Docs::getFunctions($parameters['package']), 'func_data', $parameters['package']);
            }