castor adalah pelari tugas berorientasi DX yang dibangun di PHP yang menampilkan berbagai fungsi untuk pemrosesan tugas umum.
Ini dapat dilihat sebagai alternatif untuk skrip Makefile, Fabric, Invoke, Shell, dll., tetapi ini memanfaatkan kemampuan skrip PHP dan ekosistem perpustakaan yang luas.
Muncul dengan banyak fitur untuk membuat hidup Anda lebih mudah:
run()
: Jalankan proses eksternal, memungkinkan integrasi tanpa batas dengan alat eksternalio()
: Menampilkan keluaran yang indah dan berinteraksi dengan terminalwatch()
: Menonton file dan secara otomatis memicu tindakan pada modifikasi filefs()
: Membuat, menghapus, dan memanipulasi file dan direktoriCatatan
castor masih dalam pengembangan awal, dan API belum stabil. Meski kecil kemungkinannya, namun ada kemungkinan hal itu akan berubah di masa depan.
Di castor , tugas diatur sebagai fungsi khas PHP yang ditandai dengan atribut #[AsTask()]
di file castor .php
.
Tugas-tugas ini dapat menjalankan kode PHP apa pun tetapi juga memanfaatkan berbagai fungsi untuk operasi standar yang sudah dikemas sebelumnya dengan castor .
Misalnya:
<?php
namespace greetings ;
use castor Attribute AsTask ;
use function castor io ;
#[AsTask()]
function hello (): void
{
io ()-> writeln ( ' Hello from castor ' );
}
Akan memaparkan tugas greetings:hello
yang dapat Anda jalankan dengan castor greetings:hello
:
$ castor greetings:hello
Hello from castor
Kemudian, Anda dapat menjadi lebih liar dan membuat tugas yang lebih kompleks:
#[AsTask(description: ' Clean the infrastructure (remove container, volume, networks) ' )]
function destroy ( bool $ force = false )
{
if (! $ force ) {
io ()-> warning ( ' This will permanently remove all containers, volumes, networks... created for this project. ' );
io ()-> comment ( ' You can use the --force option to avoid this confirmation. ' );
if (! io ()-> confirm ( ' Are you sure? ' , false )) {
io ()-> comment ( ' Aborted. ' );
return ;
}
}
run ( ' docker-compose down -v --remove-orphans --volumes --rmi=local ' );
notify ( ' The infrastructure has been destroyed. ' )
}
Jika Anda ingin membaca lebih lanjut tentang penggunaan, Anda dapat membaca dokumentasi penggunaan dasar, atau melihat beberapa contoh.
Tip
Ini adalah cara yang disarankan untuk menginstal castor di Linux dan macOS. Ini membutuhkan PHP >= 8.1.
curl " https://castor.jolicode.com/install " | bash
Ada cara lain untuk menginstal castor , silakan merujuk ke dokumentasi.
Temukan lebih lanjut dengan membaca dokumen:
run()