castor — это DX-ориентированный инструмент запуска задач, встроенный в PHP и обладающий рядом функций для стандартной обработки задач.
Его можно рассматривать как альтернативу сценариям Makefile, Fabric, Invoke, Shell и т. д., но он использует возможности сценариев PHP и обширную библиотечную экосистему.
Он имеет множество функций, которые сделают вашу жизнь проще:
run()
: запускает внешние процессы, обеспечивая плавную интеграцию с внешними инструментами.io()
: отображает красивый вывод и взаимодействует с терминалом.watch()
: наблюдает за файлами и автоматически запускает действия при их изменении.fs()
: создание, удаление и управление файлами и каталогами.Примечание
castor все еще находится на ранней стадии разработки, и API еще не стабилен. Даже если это маловероятно, все же возможно, что в будущем ситуация изменится.
В castor задачи настраиваются как типичные функции PHP, отмеченные атрибутом #[AsTask()]
в файле castor .php
.
Эти задачи могут запускать любой PHP-код, а также использовать различные функции для стандартных операций, которые предварительно включены в состав castor .
Например:
<?php
namespace greetings ;
use castor Attribute AsTask ;
use function castor io ;
#[AsTask()]
function hello (): void
{
io ()-> writeln ( ' Hello from castor ' );
}
Будет предоставлена задача greetings:hello
, которую можно запустить с помощью castor 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. ' )
}
Если вы хотите узнать больше об использовании, вы можете прочитать базовую документацию по использованию или посмотреть несколько примеров.
Кончик
Это рекомендуемый способ установки castor в Linux и macOS. Требуется PHP >= 8.1.
curl " https://castor.jolicode.com/install " | bash
Существуют и другие способы установки castor , обратитесь к документации.
Узнайте больше, прочитав документацию:
run()