maximaster/production-calendar 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

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

maximaster/production-calendar

Composer 安装命令:

composer require maximaster/production-calendar

包简介

Работа с производственным календарём, встроено получение данных с basicdata.ru

README 文档

README

Предоставляет возможность проверить является ли день выходным|праздничным|рабочим. Данные предоставлены basicdata.ru, однако, библиотека позволяет подключить любой источник данных.

Установка

composer require maximaster/production-calendar

Примеры использования

Для полного списка доступных функций обратитесь к phpDoc пубичных методов класса Calendar.

isFree($day)

Проверяет, является ли день "свободным", т.е. либо праздником, либо рядовым выходным

use Maximaster\ProductionCalendar\Calendar;
use Maximaster\ProductionCalendar\RulesProvider\BasicdataProvider;

$calendar = Calendar::fromProvider(new BasicdataProvider);
if ($calendar->isFreeDay('01.01.2017')) {

isDay($day, $types)

Проверяет, относится ли день к определённому типу (или одному из типов, если передан массив). Доступные типы см. константы класса Rules

use Maximaster\ProductionCalendar\Rules;
if ($calendar->isDay('01.01.2017', [Rules::HOLIDAY, Rules::PRE_HOLIDAY])) {

getDayType($day)

Возвращает тип дня

$calendar->getDayType('01.01.2017'); // Rules::REGULAR_REST

getMonthWorkDaysCount($year, $month)

getMonthWorkDaysCount($dayOfMonth)

Возвращает количество рабочих дней в указанном месяце

$calendar->getMonthWorkDaysCount(2017, 6); // 21

Кеширование

Позволяет кешировать результаты любого источника с помощью CacheProvider, в том числе встроенного. Пример:

Calendar::fromProvider(new CacheProvider(new BasicdataProvider));

Для использования необходимо подключить пакет desarrolla2/cache

Использование как сервиса в Symfony (2.8)

app/config/services.yml

  app.calendar.basicdata_provider:
    public: false
    class: Maximaster\ProductionCalendar\RulesProvider\BasicdataProvider

  app.calendar.cached_basicdata_provider:
    public: false
    class: Maximaster\ProductionCalendar\RulesProvider\CacheProvider
    arguments: ["@app.calendar.basicdata_provider"]

  app.calendar:
    class: Maximaster\ProductionCalendar\Calendar
    factory: ['Maximaster\ProductionCalendar\Calendar', fromProvider]
    arguments: ["@app.calendar.cached_basicdata_provider"]

любой код с доступом к контейнеру

$calendar = $this->getContainer()->get('app.calendar');

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2017-06-09

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固