Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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!