承接 riesenia/scheduler 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

riesenia/scheduler

Composer 安装命令:

composer require riesenia/scheduler

包简介

PHP class providing simple scheduling functionality

README 文档

README

PHP script providing basic scheduling functionality.

Installation

Install the latest version using composer require riesenia/scheduler

Or add to your composer.json file as a requirement:

{
    "require": {
        "riesenia/scheduler": "~1.0"
    }
}

Usage

Constructor takes two parameters:

  • items - array of integers - item IDs
  • terms - array of TermInterface
use Riesenia\Scheduler\Scheduler;

$items = [1, 2];
$terms = [$term1, $term2, $term3, $term4];

$scheduler = new Scheduler($items, $terms);

Adding terms and Items

Items and Terms can be also added separately. All added terms have to implement TermInterface.

$scheduler->addItem(3);
$scheduler->addTerm($term5);

TermInterface

Term is defined by its starting and ending date (getFrom() and getTo() methods). Moreover it can be locked to specific item by providing its ID in getLockedId() method.

Scheduling

Calling schedule() method distibutes terms to items correctly. If this is not possible, scheduler throws SchedulerException with the information which terms overlap.

use Riesenia\Scheduler\SchedulerException;

try {
    $scheduler->schedule();

    // get all the terms with reassigned item IDs
    $scheduler->getTerms();
} catch (SchedulerException $e) {
    \var_dump($e->getConflictingTerms());
}

统计信息

  • 总下载量: 529
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2019-03-01