Saya membuat skrip untuk saya sendiri untuk menyebarkan situs ke produksi. Mengapa Anda perlu menampilkan apa yang terjadi. Dan untuk membuatnya lebih jelas, saya memutuskan untuk menampilkan warna. Namun, saya tidak dapat menemukan sesuatu yang cocok. Paling-paling, perpustakaan menampilkan teks berwarna, tetapi tidak mendukung padding. Karena itu, saya membuat perpustakaan sendiri untuk ini. Mungkin seseorang akan berguna. Pustaka kecil (tapi fungsional) untuk menghasilkan teks berwarna ke konsol dengan dukungan untuk lekukan dalam formulir ini
Console::indent(2)->color('brown')->bgcolor('magenta')->writeln(' Habr!');

- Instalasi
- Gunakan
- Lekukan
- Gaya
- Penebangan
- Gula sintaksis
Instalasi
Anda dapat menggunakan komposer untuk instalasi
composer require shasoft/console
atau unduh dari github
Gunakan
Daftar semua warna yang didukung. Nama kolom adalah warna latar belakang, nama baris adalah warna teks.

Output teks berwarna
- Function color ( value ) - mengatur warna teks
- Function bgcolor ( value ) - mengatur warna latar belakang
- Fungsi tulis ( value1 , value2 , ... ) - menampilkan nilai pada layar. Jika nilainya bukan string, maka itu dikonversi ke string menggunakan fungsi php var_export ( nilai , true )
- Reset fungsi () - mengatur ulang warna ke nilai default
- Function setDefault () - mengatur warna default. Nilai default: warna latar belakang = hitam, warna teks = putih
- Masukkan fungsi ( $ resetColor = true). Secara default, panggilan fungsi mengatur ulang warna ke nilai standarnya. Perhatikan bahwa garis tidak ditampilkan sampai fungsi enter () dipanggil. Ini karena perpustakaan mendukung padding.
- Fungsi writeln ( ... ) - write ( ... ) + enter ()
use Shasoft\Console\Console;
Lekukan
Untuk bekerja dengan indentasi, gunakan fungsi indentasi ( nilai indentasi [, nilai absolut ]) - jika parameter kedua ditentukan dan itu = benar, maka indentasi adalah absolut. Kalau tidak, indentanya relatif. Untuk mendapatkan indentasi saat ini, Anda perlu memanggil fungsi indent () tanpa parameter.
Contoh:
use Shasoft\Console\Console; Console::indent(0,true);
= 2 indent(1) = 3 = 2 indent(-1) = 2 = 2 indent(10) = 10 = 2 indent(1) = 1
kesimpulan: 
- Function setTabSize ( ukuran tab ) - mengatur ukuran tab. Default = 3
- Function setSpace ( simbol ) - mengatur karakter tab. Default = '' (spasi)
fungsi indent diterapkan pada LINE output dan nilainya akan berubah sampai fungsi enter () dipanggil. Yaitu kode ini akan mencetak baris indentasi 3
Console::indent(0,true)->color('red')->indent(1)->bgcolor('blue')->indent(1)->write(' 3')->indent(1)->enter();
Gaya
Anda dapat menentukan gaya. Gaya kesalahan standar adalah "kesalahan"
- Fungsi SetStyle ( nama gaya , warna teks = null, warna latar = null) - mengatur parameter gaya
- Gaya fungsi ( nama gaya ) - gunakan gaya yang ditentukan
Contoh penggunaan:
Console::indent(1,true)->style("error")->writeln('- ');
kesimpulan: 
Penebangan
Ada fungsi khusus untuk kontrol pencatatan.
- Function setLogLevel ( $ value = null) - Set / dapatkan level logging global. Default = 0
- Function logLevel ( $ value = null) - Set / dapatkan level logging. Default = 0
Nilai ditampilkan menggunakan fungsi write () hanya jika level logging saat ini kurang dari sama dengan level global logging.
Contoh:
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();
Gula sintaksis
Agar tidak menulis warna ('merah') -> bgcolor ('hijau') dapat ditulis dalam bentuk pendek
Console::red()->bg_green()->writeln(' .');
Warna latar belakang dapat diatur oleh fungsi tanpa menggarisbawahi. Namun, secara visual memisahkan warna dari awalan dan, menurut pendapat saya, sangat nyaman.
Halaman perpustakaan
upd : karena mereka menunjukkan kesalahan atas nama fungsi ident alih-alih indentasi , saya memperbaikinya agar tidak mempermalukan mereka yang mengerti bahasa Inggris dengan baik :)