Helper Term
1Apresentação
Este helper facilita o gerenciamento de terminais (TTY) na escrita de scripts de linha de comando.
O objeto \Temma\Utils\Term oferece métodos estáticos.
2input()
Este método estático recupera o texto digitado pelo usuário.
Assinatura do método:
input() : string
Exemplo:
use \Temma\Utils\Term as TµTerm;
print("What is your name?\n");
$name = TµTerm::input();
print("Hello '$name'\n");
3password()
Este método estático recupera o texto digitado pelo usuário, sem que o texto apareça na tela.
Assinatura do método:
password() : string
Exemplo:
use \Temma\Utils\Term as TµTerm;
print("Please enter your password\n");
$pwd = TµTerm::password();
if (mb_strlen($pwd) < 12)
print("Your password is too short\n");
4clear()
Limpa a tela.
Assinatura do método:
clear() : void
Exemplo:
\Temma\Utils\Term::clear();
5clearFromCursor()
Limpa a tela a partir da posição atual do cursor.
Assinatura do método:
clearFromCursor() : void
Exemplo:
\Temma\Utils\Term::clearFromCursor();
6reset()
Limpa a tela e reinicia sua configuração. O histórico de exibição é perdido.
Assinatura do método:
reset() : void
Exemplo:
\Temma\Utils\Term::reset();
7clearLine()
Limpa a linha em que o cursor está posicionado. O cursor é reposicionado no início da linha.
Assinatura do método:
clearLine() : void
Exemplo:
\Temma\Utils\Term::clearLine();
8clearLineFromCursor()
Limpa a linha atual a partir da posição do cursor.
Assinatura do método:
clearLineFromCursor() : void
Exemplo:
\Temma\Utils\Term::clearLineFromCursor();
9hideCursor()
Oculta o cursor.
Assinatura do método:
hideCursor() : void
Exemplo:
\Temma\Utils\Term::hideCursor();
10showCursor()
Exibe o cursor.
Assinatura do método:
showCursor() : void
Exemplo:
\Temma\Utils\Term::showCursor();
11saveCursor()
Salva a posição atual do cursor (para que ela possa ser restaurada depois com o método restoreCursor()).
Assinatura do método:
saveCursor() : void
Exemplo:
\Temma\Utils\Term::saveCursor();
12restoreCursor()
Restaura a posição do cursor, previamente salva com o método saveCursor().
Assinatura do método:
restoreCursor() : void
Exemplo:
\Temma\Utils\Term::restoreCursor();
13moveCursorHome()
Move o cursor para o canto superior esquerdo (posição 0,0) do terminal.
Assinatura do método:
moveCursorHome() : void
Exemplo:
\Temma\Utils\Term::moveCursorHome();
14moveCursorTo()
Move o cursor para as coordenadas indicadas.
Assinatura do método:
moveCursorTo(int $x, int $y) : void
Exemplo:
\Temma\Utils\Term::moveCursorTo(17, 4);
15moveCursorLineStart()
Move o cursor para o início da linha atual.
Assinatura do método:
moveCursorLineStart() : void
Exemplo:
\Temma\Utils\Term::moveCursorLineStart();
16moveCursorUp()
Move o cursor para cima pelo número de linhas passado como parâmetro (1 linha por padrão).
Assinatura do método:
moveCursorUp(int $rows=1) : void
Exemplo:
use \Temma\Utils\Term as TµTerm;
// move uma linha para cima
TµTerm::moveCursorUp();
// move três linhas para cima
TµTerm::moveCursorUp(3);
17moveCursorDown()
Move o cursor para baixo pelo número de linhas passado como parâmetro (1 linha por padrão).
Assinatura do método:
moveCursorDown(int $rows=1) : void
Exemplo:
use \Temma\Utils\Term as TµTerm;
// move uma linha para baixo
TµTerm::moveCursorDown();
// move três linhas para baixo
TµTerm::moveCursorDown(3);
18moveCursorRight()
Move o cursor para a direita pelo número de colunas passado como parâmetro (1 coluna por padrão).
Assinatura do método:
moveCursorRight(int $columns=1) : void
Exemplo:
use \Temma\Utils\Term as TµTerm;
// move uma coluna para a direita
TµTerm::moveCursorRight();
// move três colunas para a direita
TµTerm::moveCursorRight(3);
19moveCursorLeft()
Move o cursor para a esquerda pelo número de colunas passado como parâmetro (1 coluna por padrão).
Assinatura do método:
moveCursorLeft(int $columns=1) : void
Exemplo:
use \Temma\Utils\Term as TµTerm;
// move uma coluna para a esquerda
TµTerm::moveCursorLeft();
// move três colunas para a esquerda
TµTerm::moveCursorLeft(3);
20getCursorPosition()
Este método retorna a posição atual do cursor.
Assinatura do método:
getCursorPosition() : array
Exemplo:
use \Temma\Utils\Term as TµTerm;
[$x, $y] = TµTerm::getCursorPosition();
21getScreenSize()
Este método retorna o tamanho da tela (número de colunas e linhas).
Assinatura do método:
getScreenSize(bool $force=false) : array
Parâmetro:
- $force: true para forçar a obtenção (sem usar o cache). Desnecessário na maioria das vezes, pois o objeto atualiza os valores em cache quando o terminal é redimensionado.
Exemplo:
use \Temma\Utils\Term as TµTerm;
[$width, $height] = TµTerm::getScreenSize();