Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
7cc8d2a
commit 232c519
Showing
6 changed files
with
105 additions
and
1 deletion.
There are no files selected for viewing
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,101 @@ | ||
.. index:: | ||
single: Console Helpers; Cursor Helper | ||
|
||
Cursor Helper | ||
============= | ||
|
||
.. versionadded:: 5.1 | ||
|
||
The :class:`Symfony\\Component\\Console\\Cursor` | ||
class was introduced in Symfony 5.1. | ||
|
||
The :class:`Symfony\\Component\\Console\\Cursor` allows you to change the | ||
cursor position in a console command. This allows you to write on any position | ||
of the output: | ||
|
||
.. image:: /_images/components/console/cursor.gif | ||
:align: center | ||
|
||
|
||
.. code-block:: php | ||
// src/Commande/MyCommand.php | ||
use Symfony\Component\Console\Command\Command; | ||
use Symfony\Component\Console\Cursor; | ||
use Symfony\Component\Console\Input\InputInterface; | ||
use Symfony\Component\Console\Output\OutputInterface; | ||
class MyCommand extends Command | ||
{ | ||
// ... | ||
public function execute(InputInterface $input, OutputInterface $output) | ||
{ | ||
// ... | ||
$cursor = new Cursor($output); | ||
// moves the cursor to a specific column and row position | ||
$cursor->moveToPosition(7, 11); | ||
// and write text on this position using the output | ||
$output->write('My text'); | ||
// ... | ||
} | ||
} | ||
Using the cursor | ||
---------------- | ||
|
||
Moving the cursor | ||
................. | ||
|
||
There are fews methods to control moving the command cursor:: | ||
|
||
// moves the cursor 1 line up from its current position | ||
$cursor->moveUp(); | ||
|
||
// moves the cursor 3 lines up from its current position | ||
$cursor->moveUp(3); | ||
|
||
// same for down | ||
$cursor->moveDown(); | ||
|
||
// moves the cursor 1 column right from its current position | ||
$cursor->moveRight(); | ||
|
||
// moves the cursor 3 columns right from its current position | ||
$cursor->moveRight(3); | ||
|
||
// same for left | ||
$cursor->moveLeft(); | ||
|
||
// move the cursor to a specific position from its current position | ||
$cursor->moveToPosition(7, 11); | ||
|
||
You can get the current command's cursor position by using:: | ||
|
||
$position = $cursor->getCurrentPosition(); | ||
// $position[0] // columns (aka x coordinate) | ||
// $position[1] // rows (aka y coordinate) | ||
|
||
Clearing output | ||
............... | ||
|
||
The cursor can also clear some output on the screen:: | ||
|
||
// clears all the output from the current line | ||
$cursor->clearLine(); | ||
|
||
// clears all the output from the current line after the current position | ||
$cursor->clearLineAfter(); | ||
|
||
// clears all the output from the cursors' current position to the end of the screen | ||
$cursor->clearOutput(); | ||
|
||
// clears the entire screen | ||
$cursor->clearScreen(); | ||
|
||
You also can leverage the :method:`Symfony\\Component\\Console\\Cursor::show` | ||
and :method:`Symfony\\Component\\Console\\Cursor::hide` methods on the cursor. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters