PHP-Klasse zur Ausgabe von farbigem Text an die Konsole

Ich habe ein Skript für mich erstellt, um die Site für die Produktion bereitzustellen. Warum mussten Sie anzeigen, was passiert? Und um es klarer zu machen, habe ich beschlossen, in Farbe anzuzeigen. Ich konnte jedoch nichts Passendes finden. In der Bibliothek wurde höchstens farbiger Text angezeigt, das Auffüllen wurde jedoch nicht unterstützt. Deshalb habe ich dafür meine eigene Bibliothek erstellt. Vielleicht ist jemand nützlich. Eine kleine (aber funktionale) Bibliothek zur Ausgabe von farbigem Text an die Konsole mit Unterstützung für Einrückungen in dieser Form


Console::indent(2)->color('brown')->bgcolor('magenta')->writeln(' Habr!'); 


  1. Installation
  2. Verwenden Sie
  3. Einrückung
  4. Stile
  5. Protokollierung
  6. Syntaktischer Zucker

Installation


Sie können Composer für die Installation verwenden


 composer require shasoft/console 

oder von github herunterladen


Verwenden Sie


Liste aller unterstützten Farben. Spaltennamen sind Hintergrundfarben, Zeilennamen sind Textfarben.
Beispiel für die Farbtextausgabe


Farbtextausgabe


  • Funktionsfarbe ( Wert ) - Stellen Sie die Textfarbe ein
  • Funktion bgcolor ( Wert ) - Stellen Sie die Hintergrundfarbe ein
  • Die Schreibfunktion ( Wert1 , Wert2 , ... ) - zeigt den Wert auf dem Bildschirm an. Wenn der Wert kein String ist, wird er mit der PHP-Funktion var_export ( value , true ) in einen String konvertiert.
  • Funktion reset () - setzt die Farben auf die Standardwerte zurück
  • Funktion setDefault () - Legt die Standardfarben fest. Standardwerte: Hintergrundfarbe = Schwarz, Textfarbe = Weiß
  • Funktion eingeben ( $ resetColor = true). Standardmäßig setzt ein Funktionsaufruf die Farben auf ihre Standardwerte zurück. Beachten Sie, dass die Zeile erst angezeigt wird, wenn die Funktion enter () aufgerufen wird. Dies liegt daran, dass die Bibliothek das Auffüllen unterstützt.
  • Funktion writeln ( ... ) - write ( ... ) + enter ()

 use Shasoft\Console\Console; //      Console::color('red')->bgcolor('green')->write('    ')->enter(); //      Console::color('green')->bgcolor('red')->writeln('    '); //      Console::color('red')->bgcolor('white')->write('     ')->reset()->writeln('    '); 

Einrückung


Verwenden Sie zum Arbeiten mit Einrückungen die Einrückungsfunktion ( Einrückungswert [, absoluter Wert ]). Wenn der zweite Parameter angegeben ist und = true, ist die Einrückung absolut. Ansonsten ist der Einzug relativ. Um den aktuellen Einzug zu erhalten, müssen Sie die Funktion indent () ohne Parameter aufrufen.


Ein Beispiel:


 use Shasoft\Console\Console; Console::indent(0,true); //  0 Console::indent(1)->color('red')->writeln(' 1'); Console::indent(3,true)->color('green')->writeln(' 3'); Console::indent(-1)->color('blue')->writeln(' 2'); 

     = 2 indent(1)  = 3     = 2 indent(-1)  = 2     = 2 indent(10)  = 10     = 2 indent(1)  = 1 

Fazit: Beispiel für eine eingerückte Ausgabe


  • Funktion setTabSize ( Registerkartengröße ) - Legt die Größe der Registerkarte fest. Standard = 3
  • Funktion setSpace ( Symbol ) - Legt das Tabulatorzeichen fest. Standard = '' (Leerzeichen)

Die Einrückungsfunktion wird auf die Ausgangszeile angewendet und der Wert ändert sich, bis die Funktion enter () aufgerufen wird. Das heißt, Dieser Code druckt die eingerückte Zeile 3


 Console::indent(0,true)->color('red')->indent(1)->bgcolor('blue')->indent(1)->write(' 3')->indent(1)->enter(); 

Stile


Sie können Stile angeben. Der Standardfehlerstil ist "Fehler".


  • SetStyle- Funktion ( Stilname, Textfarbe = null, Hintergrundfarbe = null) - Legen Sie Stilparameter fest
  • Funktionsstil ( Stilname ) - Verwenden Sie den angegebenen Stil

Anwendungsbeispiel:


 Console::indent(1,true)->style("error")->writeln('- '); 

Fazit: Stilbeispiel


Protokollierung


Es gibt spezielle Funktionen für die Protokollierungssteuerung.


  • Funktion setLogLevel ( $ value = null) - Setzt / ruft die globale Protokollierungsstufe ab. Standard = 0
  • Funktion logLevel ( $ value = null) - Setzt / ruft die Protokollierungsstufe ab. Standard = 0

Werte werden mit der Funktion write () nur angezeigt, wenn die aktuelle Protokollierungsstufe kleiner als die globale Protokollierungsstufe ist.


Ein Beispiel:


 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(); 

Syntaktischer Zucker


Um keine Farbe ('rot') zu schreiben, kann> bgcolor ('grün') in Kurzform geschrieben werden


 Console::red()->bg_green()->writeln('     .'); 

Die Hintergrundfarbe kann durch die Funktion ohne Unterstreichung eingestellt werden. Es trennt jedoch visuell die Farbe vom Präfix und ist meiner Meinung nach sehr praktisch.


Bibliotheksseite


upd : da sie auf einen Fehler im Namen der ident-Funktion anstatt auf den Einzug hingewiesen haben, habe ich ihn behoben, um diejenigen, die gut Englisch sprechen , nicht in Verlegenheit zu bringen :)

Source: https://habr.com/ru/post/de432242/


All Articles