Dodajemy trochę kolorów w CLI
Ostatni wpis był o tym jak zrobić skrypt CLI, teraz zajmiemy się wprowadzeniem kolorów. Kolory pomogą nam m.in w rozróżnianiu informacji od błędów, wizualnemu podziału bloków (np gdy skrypt musi wykonać wiele długich czynności to wizualnie można rozdzielić te sekcje od siebie, aby sprawniej przeczytać logi).
W tym wpisie skupimy się na „czystym” PHP’ie, ale wszystkie informacje zawarte tutaj wykorzystasz w dowolnym skrypcie napisanym w dowolnym języku. Więc zaczynamy zabawę od kolorowania tekstu.
Jak wspomniałem w poprzednim wpisie o tworzeniu skryptów shell kolorowanie zaczynamy od \e[kodm następnie tekst i \e[0m]
echo "Ten tekst będzie na \e[31mczerwono\e[0m \r\n";
echo "Ten tekst będzie na \e[32mzielono\e[0m \r\n";
echo "Ten tekst jest standardowy\r\n";

i teraz rozkładamy to na czynniki pierwsze
- najpierw mamy znak ucieczki
\e - kod koloru wg tabeli po niżej
mzakończenie modyfikatora
| Kod koloru | Nazwa |
| 0 | RESET |
| 30 | CZARNY |
| 31 | CZERWONY |
| 32 | ZIELONY |
| 33 | ŻÓŁTY |
| 34 | NIEBIESKI |
| 35 | FILETOWY |
| 36 | CYJAN |
| 37 | BIAŁY |
Okej więc mamy już ogarnięte kolory, ale teraz przyda nam się tło. Tło robimy w prawie identyczny sposób co kolor, z tym że zaczynamy wszystko od liczby 4:
| Kod koloru | Nazwa |
| 0 | RESET |
| 40 | CZARNY |
| 41 | CZERWONY |
| 42 | ZIELONY |
| 43 | ŻÓŁTY |
| 44 | NIEBIESKI |
| 45 | FILETOWY |
| 46 | CYJAN |
| 47 | BIAŁY |
echo "Ten tekst będzie na \e[41mczerwono\e[0m \r\n";
echo "Ten tekst będzie na \e[42mzielono\e[0m \r\n";
echo "Ten tekst jest standardowy\r\n";

Kolory mamy za sobą to teraz czas na inne modyfikacje. Np pogrubienie tesktu. Tutaj operujemy wartościami od 0 – reset do 8 – niewidoczne:
| Kod koloru | Nazwa |
| 0 | RESET |
| 1 | Pogrubienie |
| 2 | Przyciemnienie |
| 3 | Kursywa |
| 4 | Podkreślenie |
| 5 | Migający |
| 7 | Odwrócone kolory |
| 8 | Niewidoczny |
Uwaga! Wartość 6 jest pusta i nie jest używana. Jeszcze na koniec jak połączyć te wartości? Średnikiem:
echo "Ten tekst będzie na \e[1;31;42mjaki?\e[0m \r\n";
Jaki tego będzie efekt? Oprócz tego, że wyjątkowo brzydki? Spróbuj i pobaw się 😉

