CronExpressionGenerator
v1.10.2
CRON Expression Generator هو أداة جميلة لتطبيقات PHP. بالطبع ، فإن الميزة الأساسية لهذه الحزمة هي القدرة على توليد تعبيرات CRON.
مولد تعبيرات كرون
قبل التعبيرات
تعبيرات مخصصة
موثق جيدا
اختبار جيد
متوافق مع لارافيل
PHP 8.0 وما فوق
يمكنك تثبيت الحزمة عبر الملحن:
يتطلب الملحن butschster/cron-expression
هذا كل شيء!
استخدم butschstercronexpressiongenerator ؛ استخدم croncronexpression ؛ $ generator = new generator () ؛ // $ enderator = new generator (cronexpression جديد (' * * * *')) ؛ // $ generator = generator :: create () ؛/ / أو $ generator = generator :: create (cronexpression جديد (' * * * *')) ؛
$ expression = $ generator-> getExpression () ؛ // croncronexpression
echo $ generator-> toexpression () ؛ // * * * * * echo (string) $ generator ؛ // * * * * * echo (string) $ generator-> getExpression () ؛ // * * * * * echo $ generator-> getExpression ()-> getExpression () ؛ // * * * *
echo $ generator-> cron (' * */3 * * *') ؛ // * */3 * * * echo $ generator-> cron (' * */3 * * *')-> earytworminutes () ؛ // */2 */3 * * *
// كل دقيقة $ generator-> alyminute () ؛ // * * * * // every minuecho $ generator-> earyevenminute () ؛ // */2 * * * // كل دقيقتين $ generator-> everytworminutes () ؛ // */2 * * * // كل ثلاث دقائق $ generator-> alyshreeminutes () ؛ // */3 * * * // كل أربع دقائق $ generator-> earyFourMinutes () ؛ // */4 * * * // كل خمس دقائق $ generator-> earyfiveMinutes () ؛ // */5 * * * // كل عشر دقائق $ generator-> earyminutes () ؛ // */10 * * * // كل خمسة عشر دقيقة $ generator-> earyfifteenMinutes () ؛ // */15 * * * // كل 00 و 30 minotecho $ generator-> Everythirtyminutes () ؛ // 0،30 * * * // كل Minutecho $ generator-> set (new butschstercronexpressionpartsminuteSeveryMinute ()) ؛ // * * * * echo $ generator-> set (new butschstercronexpressionpartsminuteSeveryMinute (2)) ؛ // * */2 * * // محدد minotecho $ generator-> set (new butschstercronexpressionpartSminutEssPecificMinutes (2 ، 3 ، 10)) ؛ // * 2،3،10 * * * // بين GENTECHO $ generator-> set (new butschstercronexpressionpartSminutesBENTENEMINUTES (0 ، 30)) ؛ // * 0-30 * * *
// كل ساعة في 00 minotecho $ generator-> cly () ؛ // 0 * * * // كل ساعة في 15 دقيقة $ generator-> Hourlyat (15) ؛ // 15 * * * // كل ساعة في 15 ، 30 ، 45 minotecho $ generator-> ساعة ساعة (15 ، 30 ، 45) ؛ // 15،30،45 * * * // كل ساعتين من Secho $ generator-> earytwohours () ؛ // 0 */2 * * * // كل ثلاث ساعات $ generator-> alyshreehours () ؛ // 0 */3 * * // كل أربع ساعات من $ generator-> ealherfourhours () ؛ // 0 */4 * * // كل ستة ساعات من $ generator-> alysixhours () ؛ // 0 */6 * * // كل 1 ، 2 ، 3 ساعات $ generator-> set (New ButSchsterCronexPressionPartShoursSpecifichours (1 ، 2 ، 3)) ؛ // * 1،2،3 * * // كل ثلاث ساعات $ generator-> set (جديد butschsterCronexpressionPartShourcePeryhour ()) ؛ // * * * * echo $ generator-> set (new butschstercronexpressionpartsherperveryhour (3)) ؛ // * */3 * * // بين Hoursecho $ generator-> set (new butschstercronexpressionpartshoursbetweenhours (0 ، 12)) ؛ // * 0-12 * * *
// كل يوم على 00: 00echo $ generator-> daily () ؛ // 0 0 * * * // كل يوم في 01: 00echo $ generator-> يوميًا (1) ؛ // 0 1 * * // كل يوم في الساعة 03:00 ، 15:00 ، 23: 00echo $ generator-> يوميًا (3 ، 15 ، 23) ؛ // 0 3،15،23 * * * // كل يوم في 13: 00echo $ generator-> dailyat (13) ؛ // 0 13 * * // كل يوم في 13: 25echo $ generator-> dailyat (13 ، 25) ؛ // 25 13 * * * // كل يوم في 03:00 ، 15: 00echo $ generator-> TwicedAily (3 ، 15) ؛ // 0 3،15 * * * // كل يوم في 03:05 ، 15: 05echo $ generator-> twosedailyat (3 ، 15 ، 5) ؛ // 5 3،15 * * * // كل شهر في اليوم الأخير على 00: 00echo $ generator-> dayfmonth () ؛ // 0 0 l * * // كل شهر في اليوم الأخير في الساعة 12:00 // 0 12 l * * // كل شهر في اليوم الأخير في الساعة 12:30. . // 0 0 lw * * // كل شهر في يوم الأسبوع الماضي في الساعة 12:00 // 0 12 lw * * // كل شهر في يوم الأسبوع الماضي في الساعة 12: 30echo $ generator-> lastweekdayofmonth (12 ، 30) ؛ . // * * 1،2،3 * * echo $ generator-> set (new ButSchsterCronexPressionPartsDaySeveryday ()) ؛ // * * * * // كل ثلاثة أيام $ generator-> set (جديد butschstercronexpressionpartsdayseveryday (3)) ؛ // * * */3 * // بين DaySecho $ Generator-> SET (New ButSchsterCronexpressionPartSdaySbetays (0 ، 12)) ؛ // * * 0-12 * * // Last Day of Monthecho $ generator-> set (new ButSchsterCronexpressionPartSdaysLastdayOfmonth ()) ؛ // * * l * *
// كل أسبوع على Mondayecho $ generator-> أسبوعيًا () ؛ // 0 0 * * 0 // كل أسبوع يومي الاثنين والخميس $ generator-> أسبوعي (مولد :: الاثنين ، المولد :: الخميس) ؛ // 0 0 * * 1،4 // كل أسبوع على WeekDaySecho $ Generator-> daily ()-> WeekDays () ؛ // 0 0 * * 1-5 // كل أسبوع في WeekendSecho $ Generator-> daily ()-> Weekends () ؛ // 0 0 * * 6،0 // كل Mondayecho $ generator-> daily ()-> mondays () ؛ // 0 0 * * 1 // orecho $ generator-> weeklyonmonday () ؛ // orecho $ generator-> weeklyonmonday (8 ، 6) ؛ // 6 8 * * 1 // كل يوم الثلاثاء $ generator-> daily ()-> الثلاثاء () ؛ // 0 0 * * 2 // orecho $ generator-> weeklyontuesday () ؛ // كل يوم أربعاء $ generator-> daily ()-> الأربعاء () ؛ // 0 0 * * 3 // orecho $ generator-> weeklyonwednesday () ؛ // كل خميس $ generator-> daily ()-> الخميس () ؛ // 0 0 * * 4 // orecho $ generator-> weeklyonthursday () ؛ // inicalecho $ generator-> daily ()-> fridays () ؛ // 0 0 * * 5 // orecho $ generator-> weeklyonfriday () ؛ // كل Saturdayecho $ generator-> daily ()-> Surpetdays () ؛ // 0 0 * * 6 // orecho $ generator-> weeklyonsaturday () ؛ // كل Sundayecho $ generator-> daily ()-> sundays () ؛ // 0 0 * * 0 // orecho $ generator-> weeklyonsunday () ؛ // كل مولد $ Mondayecho-> Weeklyon (Generator :: Monday) ؛ // 0 0 * * 1 // كل يوم اثنين في الساعة 8 صباحًا echo $ generator-> Weeklyon (Generator :: Monday ، 8) ؛ // 0 8 * * 1 // كل يوم اثنين في 08: 06echo $ generator-> Weeklyon (Generator :: Monday ، 8 ، 6) ؛ // 6 8 * * 1 // كل يوم من Generator $ weekecho-> SET (جديد butschstercronexpressionpartsdaysofweekeverydayofweek ()) ؛ // * * * * // كل يومين من generator $ $ -echo-> تعيين (butschstercronexpressionpartsdaysfaysofweekeverydayofweek (2)) ؛ // * * * */2 // كل يوم اثنين ، الأربعاء ، Gridayecho $ generator-> Set (New ButschsterCronexpressionPartsDaysofWeeksPecificDaysofweek (Generator :: Monday ، Generator :: Wednesday ، Generator :: Friday)) ؛ // * * * * 1،3،5 // بين أيام Generator $ weecho-> SET (New ButschsterCronexpressionPartsDaysFweekBetwEendayofweek (Generator :: Monday ، Generator :: Friday)) ؛ // * * * * 1-5 // الاثنين الماضي من Generator $ $-> SET (جديد butschstercronexpressionpartsdaysofweeklastdayofweek ()) ؛ // * * * * 1L // الجمعة الأخيرة من Generator $ $-> SET (New ButSchsterCronexpressionPartsDaysOfWeeklastdayofweek (Generator :: Friday)) ؛ // * * * * 5L // كل يوم الاثنين الأول من كل شهر مولد $- // * * * * 1#1 // كل يوم ثالث من كل شهر مولد $ $-> تعيين (جديد butschstercronexpressionpartsdaysofweeknthdayofweek (Generator :: Friday ، 3)) ؛ // * * * * 5#3
// كل شهر في يوم واحد على 00: 00echo $ generator-> monthly () ؛ // 0 0 1 * * // كل شهر في يوم 1-ST في الساعة 12: 00echo $ generator-> monthly (12) ؛ // 00 12 1 * * // كل شهر في يوم 1-ST في الساعة 12: 30echo $ generator-> شهريًا (12 ، 30) ؛ // 30 12 1 * * // كل شهر في يوم 15-ST في الساعة 12:00. // 0 12 15 * * // كل شهر في يوم 15-ST في الساعة 12:30. // 30 12 15 * * // كل شهر مرتين في 15 ، 24 يومًا في 00: 00echo $ generator-> twicemonthly (15 ، 24) ؛ // 0 0 15،24 * // كل شهر مرتين في 15 ، 24 يومًا في 10:00 00echo $ generator-> twicemonthly (15 ، 24 ، 10) ؛ // 0 10 15،24 * // كل شهر مرتين في 15 ، 24 يومًا في 10: 30echo $ generator-> twicemonthly (15 ، 24 ، 10 ، 30) ؛ . // 45 10 12،24،30 * * // كل ربع yyyy-01،03،06،09-01 00: 00echo $ generator-> Quarterly () ؛ // 0 0 1 1-12/3 *// كل عام yyyy-01-01-01 00: 00echo $ generator-> Yearly () ؛ // 0 0 1 1 *// كل عام yyyy-04-01 00: 00echo $ generator-> Yearlyon (Generator :: Apr) ؛ // 0 0 1 4 *// كل عام yyyy-04-05 00: 00echo $ generator-> Yearlyon (Generator :: Apr ، 5) ؛ // 0 0 5 4 *// كل عام yyyy-04-05 08: 00echo $ generator-> Yearlyon (Generator :: Apr ، 5 ، 8) ؛ // 0 8 5 4 *// كل عام yyyy-04-05 08: 30echo $ generator-> Yearlyon (Generator :: Apr ، 5 ، 8 ، 30) ؛ // 30 8 5 4 *// includecho $ generator-> set (new butschsterCronexPressionPartSmonthSeveryMonth ()) ؛ // * * * * // كل شهرين من $ $ generator-> set (new butschstercronexpressionpartsmonthseverymonth (2)) ؛ // * * *//2 * // أشهر محددة: April and Decemberecho $ Generator-> SET (New ButschsterCronexpressionPartSmonthSSpecificMonths (Generator :: APR ، Generator :: Dec)) ؛ // * * * 4،12 * // بين أبريل وديسمبر/ ديسمبر $ generator-> SET (New ButschsterCronexpressionPartSmonthSbetweenMonths (Generator :: Apr ، Generator :: Dec)) ؛ // * * * 4-12 * // Quarterlyecho $ generator-> set (New ButSchsterCronexpressionPartSmonthSquarterly ()) ؛ // * * * 1-12/3 *
$ date = new DateTime ('2021-02-05 12:34:26') ؛ // كل عام yyyy-02-05 12: 34echo $ generator-> on ($ date) ؛ // 34 12 5 2 *// orecho $ generator-> set (new butschstercronexpressionpartsDateTime ($ date)) ؛ // 34 12 5 2 *
استخدام butschstercronexpressionpartsdaysspecificDays ؛ استخدم butschstercronexpressionpartsdaysfweekspecificdaysfweek 5،10،15،20،25،30 3،6،9،12 1،3،5،0echo $ generator-> سنويًا () -> أشهر (مولد :: مارس ، المولد :: يونيو ، مولد :: سبتمبر ، مولد :: ديسمبر) -> DaysOfMonth (5 ، 10 ، 15 ، 20 ، 25 ، 30) -> Daysofweek (Generator :: Monday ، Generator :: Wednesday ، Generator :: Friday ، Generator :: Sunday) -> earytwohours () -> alyminute () ؛ // orecho $ generator-> SET (New ThinkMonths (Generator :: Mar ، Jundater :: Jun ،: Sep ، Generator :: Dec) ، New OnvelyDays (5 ، 10 ، 15 ، 20 ، 25 ، 30) ، جديد محددين على مدار يوم (مولد :: الاثنين ، المولد :: الأربعاء ، مولد: كل شخص () ) ؛
انظر: https://github.com/dragonmantank/cron-expression#usage
echo $ generator-> monterlyon (15 ، 12)-> getExpression ()-> getNextrundate () ؛ // DateTime
<؟ phpnamespace appconsole ؛ استخدم butschstercronexpressiongenerator ؛ استخدام IlluminateConsOlesChedulingSchedule ؛ استخدام ElluminateFoundationConsoleKernel كـ ConsoleKernel ؛ استخدام ElluminatesupportFacadesDB ؛ {$ الجدول الزمني-> الأمر ('رسائل البريد الإلكتروني: إرسال taylor-force')-> cron (generator :: create ()-> daily () ) ؛ } }
لإنشاء فئة تعبير مخصصة ، تحتاج إلى تنفيذ ButschsterCronExpressionPartValueInterface
استخدام butschstercronexpressionpartvalueInterface ؛ استخدم croncronexpression ؛ الفئة الفصلية تنفذ partvalueinterface {public function updatexpression (cronexpression $ expression): void {$ expression-> setPart (cronexpression :: month ، '1-12/3') ؛ } }
استخدام
echo butschstercronexpressiongenerator :: create ()-> set (new Quarterly ()) ؛ // * * * 1-12/3 *
استخدام butschstercronexpressionpartsdaysspecificDays ؛ استخدم butschstercronexpressionpartshoursspecifichours ؛ استخدم butschstercronexpressionpartsminutesseStessMinute ؛ استخدام butschstercronexpressionpartsmonthsmaricmonthssmonthsmonths ؛ use usschstercronepressionpressionpressionpressionpressionpragepression DateTimeInterface ؛ فئة DateTime تنفذ PartValueInterface {الوظيفة العامة __construct (خاصة DateTimeInterface $) { } وظيفة public updatexpression (cronexpression $ expression): void {$ parts = [new محددات محددة ((int) $ this-> time-> format ('i')) ، تحديد جديد ((int) $ that-> time-> Format ('g')) ، newdeddaysdays ((int) $ this-> time-> format ('j')) ، جديد محددات ((int) $ this-> time-> format ('n')) ] } } }
استخدام
Echo butschstercronexpressiongenerator :: create ()-> set (DateTime جديد (DateTime جديد ('2021-02-05 12:34:26'))) ؛ // 34 12 5 2 *
اختبار الملحن
butschster
ترخيص معهد ماساتشوستس للتكنولوجيا (MIT). يرجى الاطلاع على ملف الترخيص لمزيد من المعلومات.