Skip to content
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status Coverage Status Latest Stable Version Total Downloads License

CrontabValidator

A validator for crontab expressions.

Sources used to determine the allowed expressions:

Features

  • Validation of crontab expressions like 6,21,36,51 7-23/1 * FEB-NOV/2 *.

Requirements

  • PHP >= 7.1

Installation

composer require "hollodotme/crontab-validator"

Usage

Boolean validation

<?php declare(strict_types=1);

namespace MyVendor\MyProject;

use hollodotme\CrontabValidator\CrontabValidator;

$validator = new CrontabValidator();

if ( $validator->isExpressionValid( '6,21,36,51 7-23/1 * FEB-NOV/2 *' ) )
{
	echo 'Expression is valid.';
}
else
{
	echo 'Expression is invalid.';	
}

Guarding

<?php declare(strict_types=1);

namespace MyVendor\MyProject;

use hollodotme\CrontabValidator\CrontabValidator;
use hollodotme\CrontabValidator\Exceptions\InvalidExpressionException;

$validator = new CrontabValidator();

try 
{
	# => All fine, execution continues
	$validator->guardExpressionIsValid( '6,21,36,51 7-23/1 * FEB-NOV/2 *' );
	
	# => This will raise an InvalidExpressionException
	$validator->guardExpressionIsValid( 'this is not a valid interval' );
}
catch ( InvalidExpressionException $e )
{
	echo $e->getMessage();
}

Prints:

Invalid crontab expression: "this is not a valid interval"

Feedback and contributions welcome!

About

A validator for crontab expressions

Resources

Contributing

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages