setono / cron-expression-bundle
Symfony bundle that integrates dragonmantank/cron-expression
Installs: 93 331
Dependents: 3
Suggesters: 0
Security: 0
Stars: 19
Watchers: 2
Forks: 7
Open Issues: 0
Type:symfony-bundle
Requires
- php: ^7.3 || ^8.0
- brick/reflection: ^0.4
- doctrine/doctrine-bundle: ^1.9 || ^2.0
- dragonmantank/cron-expression: ^2.2 || ^3.0
- symfony/config: ^4.4 || ^5.0 || ^6.0
- symfony/dependency-injection: ^4.4 || ^5.0 || ^6.0
- symfony/form: ^4.4 || ^5.0 || ^6.0
Requires (Dev)
README
Symfony bundle that integrates dragonmantank/cron-expression
Installation
Step 1: Download
Open a command console, enter your project directory and execute the following command to download the latest stable version of this bundle:
$ composer require setono/cron-expression-bundle
This command requires you to have Composer installed globally, as explained in the installation chapter of the Composer documentation.
Step 2: Enable the bundle
If you use Symfony Flex it will be enabled automatically. Else you need to add it to the bundles.php
.
<?php // config/bundles.php return [ // ... Setono\CronExpressionBundle\SetonoCronExpressionBundle::class => ['all' => true], // ... ];
Usage
Add to form type
<?php // src/Form/TaskType.php namespace App\Form; use Setono\CronExpressionBundle\Form\Type\CronExpressionType; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\Form\Extension\Core\Type\SubmitType; class TaskType extends AbstractType { public function buildForm(FormBuilderInterface $builder, array $options) { $builder ->add('task') ->add('schedule', CronExpressionType::class) ->add('save', SubmitType::class) ; } }
Add to entity
<?php declare(strict_types=1); namespace App\Entity; use Cron\CronExpression; use Doctrine\ORM\Mapping as ORM; use Setono\CronExpressionBundle\Doctrine\DBAL\Types\CronExpressionType; #[ORM\Entity] class Task { #[ORM\Column(type: CronExpressionType::CRON_EXPRESSION_TYPE)] private CronExpression $schedule; }