CronExpressionGenerator
v1.10.2
Cron Expression Generator est un bel outil pour les applications PHP. Bien sûr, la principale caractéristique de ce package est la possibilité de générer des expressions CRON.
Générateur d'expressions Cron
Expressions pré-construction
Expressions personnalisées
Bien documenté
Bien testé
Compatible avec Laravel
PHP 8,0 et plus
Vous pouvez installer le package via le compositeur:
Le compositeur a besoin
C'est ça!
Utilisez ButSchsterCroneExPressionGenerator; Utilisez CRONCRONEXPRESSION; $ générateur = new Generator (); // ou $ générateur = nouveau générateur (new Cronexpression ('* * * * *')); // ou $ générateur = générateur :: create (); / / ou $ générateur = générateur :: create (new Cronexpression ('* * * * *'));
$ expression = $ générateur-> getExpression (); // croncronexpression
echo $ générateur-> toExpression (); // * * * * * echo (String) $ générateur; // * * * * * echo (String) $ générateur-> getExpression (); // * * * * * echo $ générateur-> getExpression () -> getExpression (); // * * * * *
echo $ générateur-> cron ('* * / 3 * * *'); // * * / 3 * * * echo $ générateur-> cron ('* * / 3 * * *') -> everyTwoMinutes (); // * / 2 * / 3 * * *
// chaque MinuteEcho $ Generator-> EveryMinute (); // * * * * * // Chaque même Generator $ MinuteEcho-> EveryevenMinute (); // * / 2 * * * * // tous les deux minutes de générateur de dollars-> EveryTwoMus (); // * / 2 * * * * // tous les trois minutes de générateur de dollars-> everythreeMinutes (); // * / 3 * * * * // tous les quatre minutes de générateur de dollars-> EveryFourMinutes (); // * / 4 * * * * // tous les cinq minutes encho $ Generator-> EveryFiveMinutes (); // * / 5 * * * * // tous les dix minutes encho $ générateur-> EverytenMinutes (); // * / 10 * * * * // chaque quinze minutes de générateur de $ // * / 15 * * * * // tous les 00 et 30 minutes de générateur de $ de Minutes-> EverythirTyMinutes (); // 0,30 * * * * // Every MinuteEcho $ Generator-> set (new ButschstercronexpressionPartsMinUteseveryMinUte ()); // * * * * * echo $ generator-> set (new ButSchstercronexpressionPartsMinUteseveryMinute (2)); // * * / 2 * * * // Generator de MinthingECHO spécifique-> Set (new ButschstercronexpressionPartsMinUTESSPECICICMINUTES (2, 3, 10)); // * 2,3,10 * * * // entre le générateur de mûres de MinkingEcho-> set (new ButschstercronexpressionPartsMinutesBetweenMinutes (0, 30)); // * 0-30 * * *
// Toutes les heures à 00 Minutescho $ générateur-> heure (); // 0 * * * * // Toutes les heures à 15 minutes encho $ Generator-> Hourlyat (15); // 15 * * * * // toutes les heures à 15, 30, 45 Minutescho $ générateur-> Hourlyat (15, 30, 45); // 15,30,45 * * * * // toutes les deux heures de générateur de dollars deecho-> EveryTwoHours (); // 0 * / 2 * * * // toutes les trois heures de générateur de $. // 0 * / 3 * * * // Toutes les quatre heures de générateur de $. // 0 * / 4 * * * // Toutes les six heures de générateur de ponctuations-> EverySixHours (); // 0 * / 6 * * * // toutes les 1, 2, 3 heures de générateur de $ Hoursecho-> set (new ButschstercronexpressionParShoursSpeciFichours (1, 2, 3)); // * 1,2,3 * * * // Toutes les trois heures de générateur de $ HEUX (Set (new ButschstercronexpressionPartSheourseveryHour ()); // * * * * * echo $ Generator-> set (new ButschstercronexpressionParShourseHeEThourHour (3)); // * * / 3 * * * // entre Houecho $ générateur-> set (new ButschstercronexpressionParShoursBetweenHours (0, 12)); // * 0-12 * * *
// tous les jours à 00: 00echo $ générateur-> quotidien (); // 0 0 * * * // tous les jours à 01: 00echo $ générateur-> quotidien (1); // 0 1 * * * // tous les jours à 03h00, 15h00, 23: 00echo $ générateur-> quotidien (3, 15, 23); // 0 3,15,23 * * * // tous les jours à 13: 00echo $ générateur-> Dailyat (13); // 0 13 * * * // tous les jours à 13: 25ECHO $ Generator-> Dailyat (13, 25); // 25 13 * * * // tous les jours à 03:00, 15: 00echo $ générateur-> Twecedaily (3, 15); // 0 3,15 * * * // tous les jours à 03:05, 15: 05ECHO $ générateur-> TwiceDailyat (3, 15, 5); // 5 3,15 * * * // chaque mois le dernier jour à 00: 00echo $ générateur-> LastDayOfMonth (); // 0 0 l * * // chaque mois le dernier jour à 12: 00echo $ générateur-> LastDayOfMonth (12); // 0 12 l * * // chaque mois le dernier jour à 12: 30echo $ générateur-> LastDayOfMonth (12, 30); // 30 12 l * * // chaque mois le dernier jour de la semaine à 00: 00echo $ générateur-> LastweekdayOfMonth (); // 0 0 lw * * // chaque mois le dernier jour de la semaine à 12h00 00echo $ générateur-> LastweekdayOfMonth (12); // 0 12 lw * * // tous les mois le dernier jour de la semaine à 12 h 30 Generator $ $-> Last SweekdayOfMonth (12, 30); // 30 12 lw * * // tous les 1, 2, 3 jours encho $ générateur-> set (new ButschstercronexpressionPartsDaySspecificDays (1, 2, 3)); // * * 1,2,3 * * echo $ générateur-> set (new ButschstercronexpressionPartsDaySeveryDay ()); // * * * * * // tous les trois jours encho $ générateur-> set (new ButschstercronexpressionPartsDaySEveryDay (3)); // * * * / 3 * * // entre DaysEcho $ générateur-> set (new ButschstercronexpressionPartsDaySbetweendays (0, 12)); // * * 0-12 * * // Dernier jour de Monecho $ générateur-> set (new ButSchstercronexpressionPartsDaySlastDayOfMonth ()); // * * l * *
// chaque semaine sur MondayECHO $ générateur-> hebdomadaire (); // 0 0 * * 0 // chaque semaine le lundi et jeudiacho $ générateur-> hebdomadaire (générateur :: lundi, générateur :: jeudi); // 0 0 * * 1,4 // chaque semaine sur la semaine de générateur de dollars en semaine // 0 0 * * 1-5 // chaque semaine sur WeekendSecho $ générateur-> Daily () -> Weekends (); // 0 0 * * 6,0 // chaque lundinecho $ générateur-> quotidien () -> lundis (); // 0 0 * * 1 // Orecho $ générateur-> WeeklyOnMonday (); // Orecho $ générateur-> WeeklyOnMonday (8, 6); // 6 8 * * 1 // chaque mardiacho $ générateur-> quotidien () -> mardi (); // 0 0 * * 2 // Orecho $ générateur-> hebdomyontuesday (); // chaque mercrediacho $ générateur-> quotidien () -> mercredi (); // 0 0 * * 3 // Orecho $ générateur-> hebdomyonwednesday (); // chaque jeudiacho $ générateur-> quotidien () -> jeudi (); // 0 0 * * 4 // ORECHO $ Generator-> WeeklyInThursday (); // chaque vendredisecho $ générateur-> quotidien () -> vendredi (); // 0 0 * * 5 // Orecho $ générateur-> hebdomyoNRIRY (); // chaque samediecho $ générateur-> quotidien () -> samedis (); // 0 0 * * 6 // Orecho $ générateur-> WeeklyOnSaturday (); // chaque dimanchecho $ générateur-> quotidien () -> dimanche (); // 0 0 * * 0 // Orecho $ générateur-> hebdomalonsunday (); // chaque lundisecho $ générateur-> hebdomadaire (générateur :: lundi); // 0 0 * * 1 // tous les lundis à 8h echo $ générateur-> hebdomadaire (générateur :: lundi, 8); // 0 8 * * 1 // tous les lundis à 08: 06echo $ générateur-> hebdomadaire (générateur :: lundi, 8, 6); // 6 8 * * 1 // tous les jours d'un Generator $ WeekEcho-> Set (new ButschstercronexpressionPartsDaySofweekeveryDayofweek ()); // * * * * * // tous les deux jours d'un Generator $ WeekEcho-> set (new ButschstercronexpressionPartsDaySofweekeveryDayofweek (2)); // * * * * * / 2 // Chaque lundi, mercredi, vendrediacho $ générateur-> set (new ButSchstercronexpressionPartsDaysOfweekspecificDaysofweek (générateur :: lundi, générateur :: mercredi, générateur :: vendredi)); // * * * * 1,3,5 // Entre les jours d'un générateur WeekEcho $ générateur-> set (new ButschstercronexpressionPartsDaysOfweekBetweendayofweek (générateur :: lundi, générateur :: vendredi)); // * * * * 1-5 // lundi dernier d'un générateur WeekEcho $ Generator-> set (new ButSchstercronexpressionPartsDaySofweekLastDayofWeek ()); // * * * * 1l // vendredi dernier d'un générateur de $ WeekEcho-> set (new ButSchstercronexpressionPartsDaysOfweeklastDayofweek (générateur :: vendredi)); // * * * * 5l // tous les premiers lundi de chaque Generator $ MoneCho-> set (new ButSchstercronexpressionPartsDaySofweeknThdayOfweek ()); // * * * * 1 # 1 // Tous les troisième vendredis de chaque Monesecho $ générateur-> set (nouveau ButSchstercronexpressionPartsdaysofweeknthdayofweek (générateur :: vendredi 3)); // * * * * 5 # 3
// chaque mois le 1-ST à 00: 00echo $ générateur-> mensuelle (); // 0 0 1 * * // chaque mois le 1-st jour à 12: 00echo $ générateur-> mensuel (12); // 00 12 1 * * // chaque mois le 1-st jour à 12: 30echo $ générateur-> mensuel (12, 30); // 30 12 1 * * // chaque mois le 15-stage à 12: 00echo $ générateur-> MonthlyOn (15, 12); // 0 12 15 * * // chaque mois le 15-stage à 12: 30echo $ générateur-> MonthlyOn (15, 12, 30); // 30 12 15 * * // chaque mois deux fois sur 15, 24 jours à 00: 00echo $ générateur-> TwiceMonthly (15, 24); // 0 0 15,24 * * // chaque mois deux fois sur 15, 24 jours à 10: 00echo $ générateur-> TwiceMonthly (15, 24, 10); // 0 10 15,24 * * // chaque mois deux fois sur 15, 24 jours à 10h30echo $ générateur-> TwiceMonthly (15, 24, 10, 30); // 30 10 15,24 * * // chaque mois trois fois sur 12, 24, 30 jours à 10: 345echo $ générateur-> Dailyat (10, 45) -> Daysofmonth (12, 24, 30); // 45 10 12,24,30 * * // chaque trimestre yyyy-01,03,06,09-01 00: 00echo $ générateur-> Quarterly (); // 0 0 1 1-12 / 3 * // chaque année yyyy-01-01 00: 00echo $ générateur-> annuel (); // 0 0 1 1 * // chaque année yyyy-04-01 00: 00ECHO $ générateur-> annelyon (générateur :: avr); // 0 0 1 4 * // chaque année yyyy-04-05 00: 00ECHO $ générateur-> annelyon (générateur :: avril, 5); // 0 0 5 4 * // chaque année yyyy-04-05 08: 00echo $ générateur-> annyon (générateur :: avril, 5, 8); // 0 8 5 4 * // chaque année yyyy-04-05 08: 30ECHO $ Generator-> annelyOn (générateur :: avril, 5, 8, 30); // 30 8 5 4 * // chaque Moneyecho $ générateur-> set (new ButSchstercronexpressionPartsmonthseverymonth ()); // * * * * * // Tous les deux mois de générateur de dollars et de générateur-> set (new ButschstercronexpressionPartsmonthseverymonth (2)); // * * * * / 2 * // mois spécifiques: avril et décembrecho $ générateur-> set (new ButSchstercronexpressionPartsmonthSspecificMonths (générateur :: avr, générateur :: déc); // * * * 4,12 * // entre avril et décembrecho $ générateur-> set (new ButSchstercronexpressionPartsmonthsbetwenemonths (générateur :: avr, générateur :: déc); // * * * 4-12 * // Quarterlyecho $ générateur-> set (new ButschstercronexpressionPartsmonthSquarterly ()); // * * * 1-12 / 3 *
$ date = new DateTime ('2021-02-05 12:34:26'); // chaque année yyyy-02-05 12: 34echo $ générateur-> on ($ date); // 34 12 5 2 * // Orecho $ générateur-> set (new ButSchstercronexpressionPartsDatetime ($ date)); // 34 12 5 2 *
Utiliser ButschstercronexpressionPartsDaySspecificDays; Utilisez ButSchstercronexpressionPartsDaySofweeksPecIcDaySofweek; Utilisez ButSchstercronexpressionPartshourseHourtHour; Utilisez ButschstercronexpressionPartsMinUteseSeveryMinute; Utiliser ButSchstercronexpressionPartsMonThsSpecificonSe; 5,10,15,20,25,30 3,6,9,12 1,3,5,0echo $ générateur-> annuel () -> mois (générateur :: mar, générateur :: jun, générateur :: sept, générateur :: déc) -> Daysofmonth (5, 10, 15, 20, 25, 30) -> Daysofweek (générateur :: lundi, générateur :: mercredi, générateur :: vendredi, générateur :: dimanche) -> EveryTwohours () -> EveryMinute (); // Orecho $ générateur-> set (Nouveaux Months spécifiques (générateur :: mar, générateur :: jun, générateur :: Sep, générateur :: déc), Nouveaux jours spécifiques (5, 10, 15, 20, 25, 30), Nouveau Spécifique Daysofweek (Générateur :: Lundi, Générateur :: Mercredi, Générateur :: Vendredi, Générateur :: Dimanche), Nouveau Everythour (2), Nouveau EveryMinute () ));
Voir: https://github.com/dragonmantank/cron-expression#usage
echo $ générateur-> MonthlyOn (15, 12) -> getExpression () -> getNExtrundate (); // DateTime
<? PhpNamespace AppConsole; Utiliser ButSchsterCronexpressionGenerator; Utilisez illuminateConsolesChedUlingSCheDule; Utilisez illuminateFoundationConsoleKernel comme consolekernel; utilisez illuminateportfacadesdb; Class Kernel étend Consolekernel {Schedule protégé (calendrier $ calendrier) ? )); } }
Pour créer une classe d'expression personnalisée, vous avez besoin d'implémenter ButschsterCronExpressionPartValueInterface
Utilisez ButSchsterCronexpressionPartValueInterface; Utilisez CRONCRONEXPRESSION; CLASS Quarterly implémente PartValueInterface {public Function UpdateExpression (Cronexpression $ Expression): void {$ expression-> setPart (cronexpression :: mois, '1-12 / 3'); } }
En utilisant
Echo ButSchsterCronexpressionGenerator :: Create () -> set (new Quarterly ()); // * * * 1-12 / 3 *
use ButschsterCronExpressionPartsDaysSpecificDays;use ButschsterCronExpressionPartsHoursSpecificHours;use ButschsterCronExpressionPartsMinutesSpecificMinutes;use ButschsterCronExpressionPartsMonthsSpecificMonths;use ButschsterCronExpressionPartValueInterface;use CronCronExpression;use DateTimeInterface; Class DateTime implémente PartivalueInterface {Fonction publique __construct (private DateTimeInterface $ time) { } Fonction publique UpdateExpression (Cronexpression $ Expression): void {$ party = [new SpecificMinutes ((int) $ this-> time-> format ('i')), new Specifichours ((int) $ this-> time-> format ('g')), Nouveaux jours spécifiques ((int) $ this-> time-> format ('j')), nouveau Spécifie les mois ((int) $ this-> time-> format ('n'))) ]; foreach ($ Parts as $ partie) {$ part-> updateExpression ($ expression); } } }
En utilisant
Echo ButSchsterCronexpressionGenerator :: Create () -> set (new DateTime (new DateTime ('2021-02-05 12:34:26')))); // 34 12 5 2 *
test du compositeur
Butschster
La licence MIT (MIT). Veuillez consulter le fichier de licence pour plus d'informations.