setono/cron-expression-bundle

Symfony 扩展包,集成了 dragonmantank/cron-expression

安装次数: 124,984

依赖关系: 3

建议者: 0

安全: 0

星标: 22

关注者: 3

分支: 10

开放问题: 3

类型:symfony-bundle

v1.8.1 2024-08-19 08:04 UTC

This package is auto-updated.

Last update: 2024-09-19 08:06:33 UTC


README

Latest Version Latest Unstable Version Software License Build Status Code Coverage

Symfony 扩展包,集成了 dragonmantank/cron-expression

安装步骤

第 1 步:下载

打开命令行控制台,进入您的项目目录,并执行以下命令以下载此扩展包的最新稳定版本

$ composer require setono/cron-expression-bundle

此命令需要您全局安装了 Composer,具体请参考 Composer 文档的 安装章节

第 2 步:启用扩展包

如果您使用 Symfony Flex,则它会自动启用。否则,您需要将其添加到 bundles.php 文件中。

<?php
// config/bundles.php

return [
    // ...
    Setono\CronExpressionBundle\SetonoCronExpressionBundle::class => ['all' => true],
    // ...
];

使用方法

添加到表单类型

<?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)
        ;
    }
}

添加到实体

<?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;
}