Пример #1
0
 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);
 }
Пример #2
0
 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;
 }