Helper Term
1Presentación
Este helper facilita la gestión del terminal (TTY) al escribir scripts de línea de comandos.
El objeto \Temma\Utils\Term ofrece métodos estáticos.
2input()
Este método estático recupera el texto introducido por el usuario.
Firma del método:
input() : string
Ejemplo:
use \Temma\Utils\Term as TµTerm;
print("¿Cómo te llamas?\n");
$name = TµTerm::input();
print("Hola '$name'\n");
3password()
Este método estático recupera el texto introducido por el usuario, sin que el texto aparezca en la pantalla.
Firma del método:
password() : string
Ejemplo:
use \Temma\Utils\Term as TµTerm;
print("Introduce tu contraseña\n");
$pwd = TµTerm::password();
if (mb_strlen($pwd) < 12)
print("Tu contraseña es demasiado corta\n");
4clear()
Borra la pantalla.
Firma del método:
clear() : void
Ejemplo:
\Temma\Utils\Term::clear();
5clearFromCursor()
Borra la pantalla desde la posición actual del cursor.
Firma del método:
clearFromCursor() : void
Ejemplo:
\Temma\Utils\Term::clearFromCursor();
6reset()
Borra la pantalla y reinicia su configuración. Se pierde el historial de visualización.
Firma del método:
reset() : void
Ejemplo:
\Temma\Utils\Term::reset();
7clearLine()
Borra la línea en la que está posicionado el cursor. El cursor se reposiciona al principio de la línea.
Firma del método:
clearLine() : void
Ejemplo:
\Temma\Utils\Term::clearLine();
8clearLineFromCursor()
Borra la línea actual desde la posición del cursor.
Firma del método:
clearLineFromCursor() : void
Ejemplo:
\Temma\Utils\Term::clearLineFromCursor();
9hideCursor()
Oculta el cursor.
Firma del método:
hideCursor() : void
Ejemplo:
\Temma\Utils\Term::hideCursor();
10showCursor()
Muestra el cursor.
Firma del método:
showCursor() : void
Ejemplo:
\Temma\Utils\Term::showCursor();
11saveCursor()
Guarda la posición actual del cursor (para poder restaurarla más tarde con el método restoreCursor()).
Firma del método:
saveCursor() : void
Ejemplo:
\Temma\Utils\Term::saveCursor();
12restoreCursor()
Restaura la posición del cursor, que ha sido guardada con el método saveCursor().
Firma del método:
restoreCursor() : void
Ejemplo:
\Temma\Utils\Term::restoreCursor();
13moveCursorHome()
Mueve el cursor a la esquina superior izquierda (posición 0,0) del terminal.
Firma del método:
moveCursorHome() : void
Ejemplo:
\Temma\Utils\Term::moveCursorHome();
14moveCursorTo()
Mueve el cursor a las coordenadas indicadas.
Firma del método:
moveCursorTo(int $x, int $y) : void
Ejemplo:
\Temma\Utils\Term::moveCursorTo(17, 4);
15moveCursorLineStart()
Mueve el cursor al principio de la línea actual.
Firma del método:
moveCursorLineStart() : void
Ejemplo:
\Temma\Utils\Term::moveCursorLineStart();
16moveCursorUp()
Mueve el cursor hacia arriba el número de líneas indicado en el parámetro (1 línea por defecto).
Firma del método:
moveCursorUp(int $rows=1) : void
Ejemplo:
use \Temma\Utils\Term as TµTerm;
// sube una línea
TµTerm::moveCursorUp();
// sube tres líneas
TµTerm::moveCursorUp(3);
17moveCursorDown()
Mueve el cursor hacia abajo el número de líneas indicado en el parámetro (1 línea por defecto).
Firma del método:
moveCursorDown(int $rows=1) : void
Ejemplo:
use \Temma\Utils\Term as TµTerm;
// baja una línea
TµTerm::moveCursorDown();
// baja tres líneas
TµTerm::moveCursorDown(3);
18moveCursorRight()
Mueve el cursor hacia la derecha el número de columnas indicado en el parámetro (1 columna por defecto).
Firma del método:
moveCursorRight(int $columns=1) : void
Ejemplo:
use \Temma\Utils\Term as TµTerm;
// se mueve una columna a la derecha
TµTerm::moveCursorRight();
// se mueve tres columnas a la derecha
TµTerm::moveCursorRight(3);
19moveCursorLeft()
Mueve el cursor hacia la izquierda el número de columnas indicado en el parámetro (1 columna por defecto).
Firma del método:
moveCursorLeft(int $columns=1) : void
Ejemplo:
use \Temma\Utils\Term as TµTerm;
// se mueve una columna a la izquierda
TµTerm::moveCursorLeft();
// se mueve tres columnas a la izquierda
TµTerm::moveCursorLeft(3);
20getCursorPosition()
Este método devuelve la posición actual del cursor.
Firma del método:
getCursorPosition() : array
Ejemplo:
use \Temma\Utils\Term as TµTerm;
[$x, $y] = TµTerm::getCursorPosition();
21getScreenSize()
Este método devuelve el tamaño de la pantalla (número de columnas y filas).
Firma del método:
getScreenSize(bool $force=false) : array
Parámetro:
- $force: true para forzar la recuperación (sin usar la caché). Innecesario la mayoría de las veces, ya que el objeto actualiza los valores almacenados en caché cuando se redimensiona el terminal.
Ejemplo:
use \Temma\Utils\Term as TµTerm;
[$width, $height] = TµTerm::getScreenSize();