рдореИрдВрдиреЗ рдЦреБрдж рдХреЛ рдЙрддреНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рд╕рд╛рдЗрдЯ рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рдИред рдЖрдкрдХреЛ рдпрд╣ рджрд┐рдЦрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИред рдФрд░ рдЗрд╕реЗ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рд░рдВрдЧ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдореБрдЭреЗ рдХреБрдЫ рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рдорд┐рд▓рд╛ред рдЕрдзрд┐рдХрд╛рдВрд╢ рдореЗрдВ, рдкреБрд╕реНрддрдХрд╛рд▓рдп рдиреЗ рд░рдВрдЧреАрди рдкрд╛рда рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдкреИрдбрд┐рдВрдЧ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдЗрд╕рд▓рд┐рдП, рдореИрдВрдиреЗ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рдЦреБрдж рдХреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдмрдирд╛рдИред рд╢рд╛рдпрдж рдХреЛрдИ рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ред рдЗрд╕ рд░реВрдк рдореЗрдВ рдЗрдВрдбреЗрдВрдЯреЗрд╢рди рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдХрдВрд╕реЛрд▓ рдХреЛ рд░рдВрдЧреАрди рдкрд╛рда рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдЫреЛрдЯреА (рд▓реЗрдХрд┐рди рдХрд╛рд░реНрдпрд╛рддреНрдордХ) рд▓рд╛рдЗрдмреНрд░реЗрд░реА
Console::indent(2)->color('brown')->bgcolor('magenta')->writeln(' Habr!');

- рд╕реНрдерд╛рдкрдирд╛
- рдХреЗ рдЙрдкрдпреЛрдЧ
- рдорд╛рдВрдЧрдкрддреНрд░
- рд╢реИрд▓рд┐рдпреЛрдВ
- рд▓реЙрдЧрд┐рдВрдЧ
- рд╕рд┐рдВрдереЗрдЯрд┐рдХ рдЪреАрдиреА
рд╕реНрдерд╛рдкрдирд╛
рдЖрдк рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рд▓рд┐рдП рд╕рдВрдЧреАрддрдХрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
composer require shasoft/console
рдпрд╛ github рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ
рдХреЗ рдЙрдкрдпреЛрдЧ
рд╕рднреА рд╕рдорд░реНрдерд┐рдд рд░рдВрдЧреЛрдВ рдХреА рд╕реВрдЪреАред рд╕реНрддрдВрдн рдирд╛рдо рдкреГрд╖реНрдарднреВрдорд┐ рд░рдВрдЧ рд╣реИрдВ, рдкрдВрдХреНрддрд┐ рдирд╛рдо рдкрд╛рда рд░рдВрдЧ рд╣реИрдВред

рд░рдВрдЧ рдкрд╛рда рдЖрдЙрдЯрдкреБрдЯ
- рдлрд╝рдВрдХреНрд╢рди рд░рдВрдЧ ( рдорд╛рди ) - рдкрд╛рда рд░рдВрдЧ рд╕реЗрдЯ рдХрд░реЗрдВ
- рдлрд╝рдВрдХреНрд╢рди bgcolor ( рдорд╛рди ) - рдкреГрд╖реНрдарднреВрдорд┐ рд░рдВрдЧ рд╕реЗрдЯ рдХрд░реЗрдВ
- рд▓реЗрдЦрди рдлрд╝рдВрдХреНрд╢рди ( рдорд╛рди 1 , рдорд╛рди 2 , ... ) - рд╕реНрдХреНрд░реАрди рдкрд░ рдореВрд▓реНрдп рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдорд╛рди рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЗрд╕реЗ php рдлрд╝рдВрдХреНрд╢рди var_export ( рдорд╛рди , рд╕рддреНрдп ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
- рдлрд╝рдВрдХреНрд╢рди рд░реАрд╕реЗрдЯ () - рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рдиреЛрдВ рдореЗрдВ рд░рдВрдЧ рд░реАрд╕реЗрдЯ рдХрд░реЗрдВ
- рдлрд╝рдВрдХреНрд╢рди рд╕реЗрдЯ рдбрд┐рдлреЙрд▓реНрдЯ () - рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░рдВрдЧ рд╕реЗрдЯ рдХрд░реЗрдВред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди: рдкреГрд╖реНрдарднреВрдорд┐ рдХрд╛ рд░рдВрдЧ = рдХрд╛рд▓рд╛, рдкрд╛рда рдХрд╛ рд░рдВрдЧ = рд╕рдлреЗрдж
- рдлрд╝рдВрдХреНрд╢рди рджрд░реНрдЬ рдХрд░реЗрдВ ( $ resetColor = true)ред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдЙрдирдХреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рдиреЛрдВ рдореЗрдВ рд░рдВрдЧреЛрдВ рдХреЛ рд░реАрд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИред рджрд░реНрдЬ рдХрд░реЗрдВ () рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рд▓рд╛рдЗрди рдкреНрд░рджрд░реНрд╢рд┐рдд рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдкреЗрдбрд┐рдВрдЧ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреА рд╣реИред
- рд╕рдорд╛рд░реЛрд╣ рд▓реЗрдЦрди ( ... ) - рд▓рд┐рдЦрдирд╛ ( ... ) + рджрд░реНрдЬ ()
use Shasoft\Console\Console;
рдЗрдВрдбреЗрдВрдЯ
рдЗрдВрдбреЗрдВрдЯреЗрд╢рди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдВрдбреЗрдВрдЯ рдлрд╝рдВрдХреНрд╢рди ( рдЗрдВрдбреЗрдВрдЯреЗрд╢рди рд╡реИрд▓реНрдпреВ [, рд╕рдВрдкреВрд░реНрдг рд╡реИрд▓реНрдпреВ ]) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ - рдпрджрд┐ рджреВрд╕рд░рд╛ рдкреИрд░рд╛рдореАрдЯрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдпрд╣ = true рд╣реИ, рддреЛ рдЗрдВрдбреЗрдВрдЯреЗрд╢рди рдирд┐рд░рдкреЗрдХреНрд╖ рд╣реИред рдЕрдиреНрдпрдерд╛, рдЗрдВрдбреЗрдВрдЯ рд╕рд╛рдкреЗрдХреНрд╖ рд╣реИред рд╡рд░реНрддрдорд╛рди рдЗрдВрдбреЗрдВрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдмрд┐рдирд╛ рдЗрдВрдбреЗрдВрдЯ () рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдПрдХ рдЙрджрд╛рд╣рд░рдг:
use Shasoft\Console\Console; Console::indent(0,true);
= 2 indent(1) = 3 = 2 indent(-1) = 2 = 2 indent(10) = 10 = 2 indent(1) = 1
рдирд┐рд╖реНрдХрд░реНрд╖: 
- рдлрдВрдХреНрд╢рди setTabSize ( рдЯреИрдм рдЖрдХрд╛рд░ ) - рдЯреИрдм рдХрд╛ рдЖрдХрд╛рд░ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ = 3
- рдлрд╝рдВрдХреНрд╢рди рд╕реЗрдЯрд╕реНрдкреЗрд╕ ( рдкреНрд░рддреАрдХ ) - рдЯреИрдм рд╡рд░реНрдг рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ = '' (рд╕реНрдерд╛рди)
рдЗрдВрдбреЗрдВрдЯ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЖрдЙрдЯрдкреБрдЯ рд▓рд╛рдЗрди рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рджрд░реНрдЬ () рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рддрдХ рдорд╛рди рдмрджрд▓ рдЬрд╛рдПрдЧрд╛ред рдпрд╛рдиреА рдпрд╣ рдХреЛрдб рдЗрдВрдбреЗрдВрдЯреЗрдб рд▓рд╛рдЗрди 3 рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдЧрд╛
Console::indent(0,true)->color('red')->indent(1)->bgcolor('blue')->indent(1)->write(' 3')->indent(1)->enter();
рд╢реИрд▓рд┐рдпреЛрдВ
рдЖрдк рд╢реИрд▓рд┐рдпреЛрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рддреНрд░реБрдЯрд┐ рд╢реИрд▓реА "рддреНрд░реБрдЯрд┐" рд╣реИ
- рд╕реЗрдЯ рд╕реНрдЯрд╛рдЗрд▓ рдлрдВрдХреНрд╢рди ( рд╕реНрдЯрд╛рдЗрд▓ рдиреЗрдо , рдЯреЗрдХреНрд╕реНрдЯ рдХрд▓рд░ = null, рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдХрд▓рд░ = null) - рд╕реЗрдЯ рд╕реНрдЯрд╛рдЗрд▓ рдкреИрд░рд╛рдореАрдЯрд░
- рдХрд╛рд░реНрдп рд╢реИрд▓реА ( рд╢реИрд▓реА рдХрд╛ рдирд╛рдо ) - рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╢реИрд▓реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
рдЙрдкрдпреЛрдЧ рдЙрджрд╛рд╣рд░рдг:
Console::indent(1,true)->style("error")->writeln('- ');
рдирд┐рд╖реНрдХрд░реНрд╖: 
рд▓реЙрдЧрд┐рдВрдЧ
рдирд┐рдпрдВрддреНрд░рдг рд▓реЙрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рдХрд╛рд░реНрдп рд╣реИрдВред
- рдлрдВрдХреНрд╢рди setLogLevel ( $ рдореВрд▓реНрдп = рд╢реВрдиреНрдп) - рд╡реИрд╢реНрд╡рд┐рдХ рд▓реЙрдЧрд┐рдВрдЧ рд╕реНрддрд░ рд╕реЗрдЯ / рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред рдбрд┐рдлрд╝реЙрд▓реНрдЯ = реж
- рдХрд╛рд░реНрдпрд╕реВрдЪреА рд▓реЙрдЧ ( $ рдорд╛рди = рд╢реВрдиреНрдп) - рд▓реЙрдЧрд┐рдВрдЧ рд╕реНрддрд░ рд╕реЗрдЯ / рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред рдбрд┐рдлрд╝реЙрд▓реНрдЯ = реж
рдорд╛рди рдХреЗрд╡рд▓ рд▓реЗрдЦрди () рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдпрджрд┐ рд╡рд░реНрддрдорд╛рди рд▓реЙрдЧрд┐рдВрдЧ рд╕реНрддрд░ рд╡реИрд╢реНрд╡рд┐рдХ рд▓реЙрдЧрд┐рдВрдЧ рд╕реНрддрд░ рд╕реЗ рдХрдо рд╣реИред
рдПрдХ рдЙрджрд╛рд╣рд░рдг:
Console::setLogLevel(0)->logLevel(1)->writeln(' , = 1 0'); Console::setLogLevel(2)->logLevel(1)->writeln(', = 1 - 2'); Console::setLogLevel(2)->logLevel(3)->write(' ')->logLevel(1)->write(' ')->enter();
рд╕рд┐рдВрдереЗрдЯрд┐рдХ рдЪреАрдиреА
рд░рдВрдЧ рдирд╣реАрдВ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП ('рд▓рд╛рд▓') -> bgcolor ('рд╣рд░рд╛') рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд░реВрдк рдореЗрдВ рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
Console::red()->bg_green()->writeln(' .');
рдкреГрд╖реНрдарднреВрдорд┐ рд░рдВрдЧ рдХреЛ рд░реЗрдЦрд╛рдВрдХрд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рдлрд╝рдВрдХреНрд╢рди рджреНрд╡рд╛рд░рд╛ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдЙрдкрд╕рд░реНрдЧ рд╕реЗ рд░рдВрдЧ рдХреЛ рдЕрд▓рдЧ рдХрд░рддрд╛ рд╣реИ рдФрд░, рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред
рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдкреЗрдЬ
рдЕрдкрдбреЗрдЯ : рдЪреВрдВрдХрд┐ рдЙрдиреНрд╣реЛрдВрдиреЗ рдЗрдВрдбреЗрдВрдЯ рдХреЗ рдмрдЬрд╛рдп рдкрд╣рдЪрд╛рди рд╕рдорд╛рд░реЛрд╣ рдХреЗ рдирд╛рдо рдореЗрдВ рддреНрд░реБрдЯрд┐ рдмрддрд╛рдИ рдереА, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЗрд╕реЗ рдареАрдХ рдХрд┐рдпрд╛ рддрд╛рдХрд┐ рдЕрдВрдЧреНрд░реЗрдЬреА рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЬрд╛рдирдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЛ рд╢рд░реНрдорд┐рдВрджрд╛ рди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ :)