function mostrar_ayuda_desatendida() { $this->consola->titulo($this->get_info()); $clase = new ReflectionClass(get_class($this)); $metodo = $clase->getMethod('opcion__instalar'); $comentario = $metodo->getDocComment(); $opcion = array('ayuda' => parsear_doc_comment($comentario), 'tags' => parsear_doc_tags($comentario)); $salida = array(); $id = 'instalar'; if (!isset($opcion['tags']['consola_no_mostrar'])) { $salida[$id] = $opcion['ayuda']; if (isset($opcion['tags']['consola_parametros'])) { $salida[$id] .= "\n" . $opcion['tags']['consola_parametros']; } } $this->consola->coleccion($salida); }
/** * @ignore */ protected function get_desc_sumarizacion($texto) { $desc = parsear_doc_comment($texto); return trim($desc != '') ? $desc : 'Descripcion no definida'; }
function inspeccionar_opciones($clase = null) { if (!isset($clase)) { $clase = get_class($this); } $opciones = array(); $clase = new ReflectionClass($clase); //----- //Hace 2 pasadas para poder ordenar los metodos segĂșn si son propios del proyecto o son definidos en toba (util para ver comandos propios custom al final de la lista ) for ($pasada = 1; $pasada <= 2; $pasada++) { foreach ($clase->getMethods() as $metodo) { if ($metodo->getDeclaringClass()->getName() == $clase->getName() && $pasada == 1) { continue; } if ($metodo->getDeclaringClass()->getName() != $clase->getName() && $pasada == 2) { continue; } if (substr($metodo->getName(), 0, 8) == 'opcion__') { $temp = explode('__', $metodo->getName()); $nombre = $temp[1]; $comentario = $metodo->getDocComment(); $opciones[$nombre] = array('ayuda' => parsear_doc_comment($comentario), 'tags' => parsear_doc_tags($comentario)); } } } return $opciones; }