castor هو برنامج تشغيل مهام موجه نحو DX ومبني بلغة PHP ويضم مجموعة من الوظائف لمعالجة المهام الشائعة.
يمكن اعتباره بديلاً للبرامج النصية Makefile وFabric وInvoc و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()