castor
v0.21.0
castor 는 일반적인 작업 처리를 위한 다양한 기능을 갖춘 PHP로 구축된 DX 지향 작업 실행기 입니다.
Makefile, Fabric, Invoke, Shell 스크립트 등에 대한 대안으로 볼 수 있지만 PHP의 스크립팅 기능과 광범위한 라이브러리 생태계를 활용합니다.
귀하의 삶을 더욱 편리하게 만들어주는 다양한 기능이 포함되어 있습니다:
run()
: 외부 프로세스를 실행하여 외부 도구와 원활한 통합 가능io()
: 아름다운 출력을 표시하고 터미널과 상호 작용합니다.watch()
: 파일을 감시하고 파일 수정에 대한 작업을 자동으로 트리거합니다.fs()
: 파일 및 디렉터리 생성, 제거 및 조작메모
castor 아직 초기 개발 단계이고 API도 아직 안정적이지 않습니다. 가능성이 낮더라도 미래에 바뀔 가능성은 여전히 있습니다.
castor 에서 작업은 castor .php
파일에 #[AsTask()]
속성으로 표시된 일반적인 PHP 함수로 설정됩니다.
이러한 작업은 모든 PHP 코드를 실행할 수 있을 뿐만 아니라 castor 와 함께 사전 패키지된 표준 작업을 위한 다양한 기능을 사용할 수도 있습니다.
예를 들어:
<?php
namespace greetings ;
use castor Attribute AsTask ;
use function castor io ;
#[AsTask()]
function hello (): void
{
io ()-> writeln ( ' Hello from castor ' );
}
castor greetings:hello
로 실행할 수 있는 greetings:hello
작업을 공개합니다.
$ castor greetings:hello
Hello from castor
그런 다음 더욱 복잡한 작업을 생성할 수 있습니다.
#[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. ' )
}
사용법에 대해 더 자세히 알아보려면 기본 사용법 문서를 읽거나 몇 가지 예를 시청하세요.
팁
이는 Linux 및 macOS에 castor 설치하는 데 권장되는 방법입니다. PHP >= 8.1이 필요합니다.
curl " https://castor.jolicode.com/install " | bash
castor 설치하는 다른 방법이 있습니다. 설명서를 참조하세요.
문서를 읽고 더 자세히 알아보세요.
run()
사용하여 프로세스 실행