CronExpressionGenerator
v1.10.2
Cron Expressionsgenerator ist ein wunderschönes Werkzeug für PHP -Anwendungen. Das Hauptmerkmal dieses Pakets ist natürlich die Fähigkeit, Cron -Ausdrücke zu generieren.
Cron Expressions Generator
Ausdrücke vorgebaut
Benutzerdefinierte Ausdrücke
Gut dokumentiert
Gut getestet
Kompatibel mit Laravel
PHP 8.0 und höher
Sie können das Paket über Komponist installieren:
Der Komponist benötigt Butschster/Cron-Expression-Generator
Das war's!
Verwenden Sie ButschsterconexpressionGenerator; verwenden / oder $ generator = generator :: create (new conexpression (' * * * *'));
$ 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 * *')-> EveryTWomines (); // */2 */3 * * * * *
// jedes MinuteEcho $ generator-> Everminute (); // * * * * * // jeder gleiche Minuteecho $ generator-> theevenminute (); // */2 * * * * // alle zwei Minuten $ generator-> alleTWomines (); // */2 * * * * // alle drei Minuten $ generator-> alleseeminutes (); // */3 * * * * // alle vier Minuten $ generator-> Everfourminutes (); // */4 * * * * // alle fünf Minuten $ generator-> Everfiveminutes (); // */5 * * * * // alle zehn Minuten $ generator-> Everytenminutes (); // */10 * * * * // alle fünfzehn Minuten mutareCho $ generator-> EveryfifteenMinutes (); // */15 * * * * * // alle 00 und 30 Minuten $ generator-> theIrtyminutes (); // 0,30 * * * * // jedes Minuteecho $ generator-> set (neu ButschsterconexpressionPartSminuteseveryminute ()); // * * * * * Echo $ generator-> set (neu ButschsterconexpressionPartSminuteseveryminute (2)); // * */2 * * * // spezifische MinuteEcho $ generator-> set (neu ButschsterconexpressionPartSminutSpecificMinutes (2, 3, 10)); // * 2,3,10 * * * // zwischen Minutesecho $ generator-> set (neuer ButschsterconexpressionPartsMinutesBetweenMinutes (0, 30)); // * 0-30 * * * * *
// jede Stunde bei 00 Minuten $ generator-> stündlich (); // 0 * * * * // jede Stunde bei 15 Minuten $ generator-> stündlich (15); // 15 * * * * // jede Stunde bei 15, 30, 45 Minuten $ generator-> stündlich (15, 30, 45); // 15,30,45 * * * * // alle zwei Stundensecho $ generator-> allestwohours (); // 0 */2 * * * // alle drei Stundensecho $ generator-> allesThreeHours (); // 0 */3 * * * // alle vier Stunden $ generator-> EveryFourHours (); // 0 */4 * * * // alle sechs Stundensecho $ generator-> jede SIXHOURS (); // 0 */6 * * * // alle 1, 2, 3 Stundensecho $ generator-> set (neu ButschsterconexpressionPartShourSpecifichours (1, 2, 3)); // * 1,2,3 * * * // alle drei Stunden $ generator-> set (neu ButschsterconexpressionPartShourseveryHour ()); // * * * * * Echo $ generator-> set (neu ButschsterconexpressionPartShourseveryHour (3)); // * */3 * * * // zwischen stundenecho $ generator-> set (neuer ButschsterconexpressionPartShoursWeweenhours (0, 12)); // * 0-12 * * * * * *
// jeden Tag bei 00: 00echo $ generator-> täglich (); // 0 0 * * * // jeden Tag um 01:00 Uhr $ generator-> täglich (1); // 0 1 * * * // jeden Tag um 03:00, 15:00, 23: 00echo $ generator-> täglich (3, 15, 23); // 0 3,15,23 * * * // jeden Tag um 13: 00echo $ generator-> Dailyat (13); // 0 13 * * * // jeden Tag um 13: 25echo $ generator-> Dailyat (13, 25); // 25 13 * * * // jeden Tag um 03:00, 15: 00echo $ generator-> twicetaily (3, 15); // 0 3,15 * * * // jeden Tag um 03:05 Uhr, 15: 05Cho $ generator-> twicetailyat (3, 15, 5); // 5 3,15 * * * // jeden Monat am letzten Tag um 00: 00echo $ generator-> lastdayofmonth (); // 0 0 l * * // jeden Monat am letzten Tag um 12: 00echo $ generator-> lastdayofmonth (12); // 0 12 l * * // jeden Monat am letzten Tag um 12: 30echo $ generator-> lastdayofmonth (12, 30); // 30 12 l * * // jeden Monat am letzten Wochentag um 00: 00echo $ generator-> last weekdayofmonth (); // 0 0 lw * * // jeden Monat am letzten Wochentag um 12: 00echo $ generator-> letztes mit Last Weekdayofmonth (12); // 0 12 LW * * // jeden Monat am letzten Wochentag um 12:30 Uhr $ generator-> letztes mit Last Weekdayofmonth (12, 30); // 30 12 LW * * // alle 1, 2, 3 Tagesecho $ generator-> set (neuer ButschsterconexpressionPartsdaysSpecificdays (1, 2, 3)); // * * 1,2,3 * * echo $ generator-> set (neu ButschsterconexpressionPartsdaySySyday ()); // * * * * * // alle drei Tagesecho $ generator-> set (neu ButschsterconexpressionPartSdaySyseveryday (3)); // * * */3 * * // Zwischen Daysecho $ generator-> set (neuer ButschsterconexpressionPartSdaysbetweendays (0, 12)); // * * 0-12 * * // Letzter Tag des Monats $ generator-> set (new ButschsterconexpressionPartSdaySlastdayofmonth ()); // * * l * *
// jede Woche am Montagecho $ generator-> wöchentlich (); // 0 0 * * 0 // jede Woche am Montag und Donnerstagecho $ generator-> wöchentlich (Generator :: Montag, Generator :: Donnerstag); // 0 0 * * 1,4 // jede Woche am Wochentagsecho $ generator-> täglich ()-> wochentags (); // 0 0 * * 1-5 // jede Woche am Wochenende am Wochenende $ generator-> täglich ()-> Wochenenden (); // 0 0 * * 6,0 // jeden MontagEcho $ generator-> täglich ()-> montags (); // 0 0 * * 1 // orecho $ generator-> weexmonmonday (); // orecho $ generator-> weexmonmonday (8, 6); // 6 8 * * 1 // jeden Dienstagecho $ generator-> täglich ()-> dienstage (); // 0 0 * * 2 // orecho $ generator-> weeklyOrtuesday (); // jeden Mittwochecho $ generator-> täglich ()-> mittwochs (); // 0 0 * * 3 // orecho $ generator-> wöchentlicherWednesday (); // jeden Donnerstagecho $ generator-> täglich ()-> donnerstags (); // 0 0 * * 4 // orecho $ generator-> weexyonthursday (); // jeden freitagecho $ generator-> täglich ()-> freitags (); // 0 0 * * 5 // orecho $ generator-> weexyonfriday (); // jeden samstagsecho $ generator-> täglich ()-> samstags (); // 0 0 * * 6 // orecho $ generator-> weelyonSaturday (); // jeden SonntagEcho $ generator-> täglich ()-> sonntags (); // 0 0 * * 0 // orecho $ generator-> weexyonsNay (); // jeden montagecho $ generator-> weexyon (Generator :: montag); // 0 0 * * 1 // jeden Montag um 8 Uhr Echo $ generator-> wöchentlich (Generator :: Montag, 8); // 0 8 * * 1 // jeden Montag um 08: 06ECHO $ generator-> weelyon (Generator :: Montag, 8, 6); // 6 8 * * 1 // An jedem Tag einer Woche $ $ generator-> set (neuer ButschsterconexpressionPartsdaysofweeKeverydaydayofweek ()); // * * * * * // alle zwei Tage einer Woche $ generator-> set (new ButschsterconexpressionPartsdaysofweeKeverydayofweek (2)); // * * * * */2 // jeden Montag, Mittwoch, freitagsecho $ generator-> set (neu ButschsterconexpressionPartSdaySofweekSpecificdaySofweek (Generator :: Montag, Generator :: Mittwoch, Generator :: Freitag)); // * * * * 1,3,5 // Zwischen Tagen einer Woche $ $ generator-> set (new ButschsterconexpressionPartsdaysofweekbetweendayofweek (Generator :: Montag, Generator :: Friday)); // * * * * 1-5 // am vergangenen Montag von einer Woche $ generator-> set (new ButschsterconexpressionPartsdaySofweePeepdayofWeek ()); // * * * * 1L // Letzten Freitag eines Woches $ generator-> set (neu ButschsterconexpressionPartsdaySofweePeepdayofweek (Generator :: Friday)); // * * * * 5l // jeden ersten Montag eines jeden Monats $ generator-> set (neuer ButschsterconexpressionPartsdaySofweeKnthdayofweek ()); // * * * * 1#1 // jeden dritten Freitag eines jeden Monats $ generator-> set (New ButschsterconexpressionPartSdaysofweeKnthdayofweek (Generator :: Freitag, 3)); // * * * * 5#3
// jeden Monat am 1-st-Tag um 00: 00echo $ generator-> monatlich (); // 0 0 1 * * // jeden Monat am 1-st-Tag um 12: 00echo $ generator-> monatlich (12); // 00 12 1 * * // jeden Monat am 1-ST-Tag um 12: 30echo $ generator-> monatlich (12, 30); // 30 12 1 * * // jeden Monat am 15. Tag um 12: 00echo $ generator-> monatlyon (15, 12); // 0 12 15 * * // jeden Monat am 15-st-Tag um 12: 30echo $ generator-> monatlyon (15, 12, 30); // 30 12 15 * * // jeden Monat zweimal am 15., 24 Tage bei 00: 00echo $ generator-> Twicontly (15, 24); // 0 0 15,24 * * // jeden Monat zweimal am 15., 24-Tage um 10: 00echo $ generator-> Twicontly (15, 24, 10); // 0 10 15,24 * * // jeden Monat zweimal am 15. 24-Tage um 10: 30echo $ generator-> Twicontly (15, 24, 10, 30); // 30 10 15,24 * * // Jedes Monat dreimal am 12., 24, 30-Tage um 10: 345Cho $ generator-> Dailyat (10, 45)-> Tage (12, 24, 30); // 45 10 12,24,30 * * // Jedes Quartal yyyy-01,03,06,09-01 00: 00echo $ generator-> vierteljährlich (); // 0 0 1 1-12/3 *// Jedes Jahr yyyy-01-01 00: 00echo $ generator-> jährlich (); // 0 0 1 1 *// Jedes Jahr yyyy-04-01 00: 00echo $ generator-> jährlich (Generator :: Apr); // 0 0 1 4 *// Jedes Jahr yjyy-04-05 00: 00echo $ generator-> jährlich (Generator :: Apr, 5); // 0 0 5 4 *// Jedes Jahr yyyy-04-05 08: 00echo $ generator-> jährlich (Generator :: Apr, 5, 8); // 0 8 5 4 *// Jedes Jahr yyyy-04-05 08: 30echo $ generator-> jährlich (Generator :: Apr, 5, 8, 30); // 30 8 5 4 *// Jedes Monatecho $ generator-> set (neu ButschsterconexpressionPartSmonthSeverymonth ()); // * * * * * // alle zwei Monatesecho $ generator-> set (new ButschsterconexpressionPartsmonthSeverymonth (2)); // * * * */2 * // Spezifische Monate: April und Dezember $ generator-> set (neu ButschsterconexpressionPartsmonthSpecificmonths (Generator :: Apr, Generator :: Dec)); // * * * 4,12 * // zwischen April und Dezember $ $ generator-> set (neuer ButschsterconexpressionPartsmonthsbeträummonths (Generator :: Apr, Generator :: Dec)); // * * * 4-12 * // Quarterlyecho $ generator-> set (neuer ButschsterconexpressionPartsmonthSquarterly ()); // * * * 1-12/3 *
$ date = new DateTime ('2021-02-05 12:34:26'); // Jedes Jahr YYY-02-05 12: 34Cho $ generator-> on ($ Datum); // 34 12 5 2 *// orecho $ generator-> set (neu ButschsterconexpressionPartSdatetime ($ Datum)); // 34 12 5 2 *
Verwenden Sie ButschstercronexpressionPartsdaysspezifische Tage; Verwenden Sie ButschsterconexpressionPartsdaysofweekSpecificdaysofeeks; verwenden Sie ButschsterconexpressionPartShourseveryHour -ButschstercronexpressionPartsminuteseveryMinThonverton; *Oder -> Monate (Generator :: Mar, Generator :: Jun, Generator :: Sep, Generator :: Dec) -> Tage (5, 10, 15, 20, 25, 30) -> tageofweek (Generator :: Montag, Generator :: Mittwoch, Generator :: Friday, Generator :: Sunday) -> Everytwohours () -> EveryMinute (); // orecho $ generator-> set (neue spezifische Monate (Generator :: mar, Generator :: Jun, Generator :: Sep, Generator :: Dec), neue spezifische Tage (5, 10, 15, 20, 25, 30), Neue Spezifikagungen (Generator :: Montag, Generator :: Wedneswoch Everyminute () );
Siehe: https://github.com/dragonmantank/cron-expression#usage
echo $ generator-> monatlyon (15, 12)-> getExpression ()-> getNextrundate (); // DateTime
<? PhpnameSpace Appconsole; Verwendung Butschsterconexpressionenerator; verwenden Sie IlluminateConSesplaningschontene; Verwenden {$ plan-> Befehl ('E-Mails: Senden Sie Taylor-Force')-> Cron (Generator :: Create ()-> Daily () ); } }
So erstellen Sie eine benutzerdefinierte Ausdrucksklasse, die Sie implementieren müssen, ButschsterCronExpressionPartValueInterface
Verwenden Sie ButschsterconexpressionPartValueInterface; Verwenden Sie Croncronexpression; Klasse vierteljährlich implementiert partValueInterface {öffentliche Funktion updatexpression (cronexpression $ expression): void {$ expression-> setPart (cronexpression :: monat, '1-12/3'); } }
Verwendung
Echo Butschsterconexpressionenerator :: Create ()-> set (new Quarterly ()); // * * * 1-12/3 *
Verwenden Sie ButschstercronexpressionPartsdaysSpecificdays; Verwenden Sie ButschstercronexpressionPartShoursspecifichours; Verwenden Sie ButschstercronexpressionPartSminutSpecificminutes; Verwenden Sie ButschsterconexpressionPartsmonthSpecificmonths. DatetimeInterface; class datetime implementiert partValueInterface {public function __construct (private datetimeInterface $ time) { } öffentliche Funktion updateExpression (cronexpression $ Ausdruck): void {$ parts = [new SpecialMinutes ((int) $ this-> time-> format ('i'), New SpeciFichours ((int) $ this-> time-> Format ('g')), neue spezifische Tage ((int) $ this-> time-> format ('j')), neu Spezifische Monthen ((int) $ this-> zeit-> format ('n')) ]; foreach ($ part as $ part) {$ part-> updateExpression ($ expression); } } }
Verwendung
Echo ButschsterconexpressionGenerator :: create ()-> set (neuer DateTime (neuer DateTime ('2021-02-05 12:34:26')); // 34 12 5 2 *
Komponistest
Butschster
Die MIT -Lizenz (MIT). Weitere Informationen finden Sie unter Lizenzdatei.