DownloadBloc tool
Basics
Creating a simple bloc
The bloc tool can display content in a box. A bloc is created with the bloc method and displayed with the display method. The width of the bloc will automatically adjust to the width of the content.
// In the "handle" method of your command class ...
$this->bloc('I am a simple bloc ...')
->display();
Setting bloc content
You can also add, prepend, set or clear the bloc content with the addContent , prependContent , setContent or clear methods.
// In the "handle" method of your command class ...
$bloc = $this->bloc('content ...');
$bloc->clear();
$bloc->setContent('middle');
$bloc->addContent(' after');
$bloc->prependContent('before ');
$bloc->display();
The content of the bloc will be "before middle after".
Styling
Customizing a bloc
You can modify the display of a bloc as you wish. Here is an example of what you could do with all the styling methods available :
// In the "handle" method of your command class ...
$this->bloc('I am a customized bloc ...')
// Set width to 50 characters
->setWidth(50)
// Set top and bottom padding width to 1 character,
// left and right padding to 5 characters
->setPadding(1, 5)
// Set top and bottom border width to 1 character,
// left and right border to 3 characters,
// border color to red
->setBorder(1, 3, 'red')
->setBackgroundColor('green')
->display();
Creating a style
If you are using your own command application, you can also build a custom style using the bloc manager :
// In your command application file ...
$command_manager->getblocManager()
->buildStyle('your-style')
->setBackgroundColor('yellow')
And then simply apply your style to your bloc like this :
// In the "handle" method of your command class ...
$color_index = $this->bloc('content ...')
->setStyle('your-style')
->display();
Verbosity
You can decide to display a bloc or not depending on the verbosity. Also content can easily be added, prepended, cleared or not depending on the verbosity.
In the following example, the bloc will only be displayed with the "--verbose", or the "--debug" options.
// In the "handle" method of your command class ...
$bloc = $this->bloc();
$bloc->addContent('content ...');
$bloc->display(self::VERBOSITY_VERBOSE);
In the following example, the message "more details ..." will only be added with the "--debug" option.
// In the "handle" method of your command class ...
$bloc = $this->bloc();
$bloc->addContent('content ...');
$bloc->addContent('more details ...', self::VERBOSITY_DEBUG);
$bloc->display();
Sticky bloc
You can "stick" a bloc to the same position with the placeHere method. I allows you to dynamically update your bloc. For example :
// In the "handle" method of your command class ...
$bloc = $this->bloc('I am bloc ...')->placeHere()->display();
sleep(1);
$bloc->setContent('I am a sticky bloc ...')->display();
sleep(1);
$bloc->setBackgroundColor('green')->display();
|