2017 © Pedro Peláez
 

library production-calendar

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

image

maximaster/production-calendar

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

  • Friday, July 14, 2017
  • by mlavrinenko
  • Repository
  • 2 Watchers
  • 0 Stars
  • 41 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 6 Versions
  • 0 % Grown

The README.md

Production Calendar

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

Установка

composer require maximaster/production-calendar

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

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

isFree($day)

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

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

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

isDay($day, $types)

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

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

getDayType($day)

Возвращает тип дня, (*5)

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

getMonthWorkDaysCount($year, $month)

getMonthWorkDaysCount($dayOfMonth)

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

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

Кеширование

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

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

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

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

app/config/services.yml, (*9)

  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"]

любой код с доступом к контейнеру, (*10)

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

The Versions

14/07 2017

dev-master

9999999-dev

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

  Sources   Download

MIT

The Requires

  • php >=5.4
  • ext-curl @stable

 

The Development Requires

by Лавриненко Максим

14/07 2017

0.2.2

0.2.2.0

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

  Sources   Download

MIT

The Requires

  • php >=5.4
  • ext-curl @stable

 

The Development Requires

by Лавриненко Максим

21/06 2017

0.2.1

0.2.1.0

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

  Sources   Download

MIT

The Requires

  • php >=5.4
  • ext-curl @stable

 

The Development Requires

by Лавриненко Максим

21/06 2017

0.2

0.2.0.0

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

  Sources   Download

MIT

The Requires

  • php >=5.4
  • ext-curl @stable

 

The Development Requires

by Лавриненко Максим

09/06 2017

0.1.1

0.1.1.0

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

  Sources   Download

MIT

The Requires

  • php >=5.4
  • ext-curl @stable

 

The Development Requires

by Лавриненко Максим

08/06 2017

0.1

0.1.0.0

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

  Sources   Download

MIT

The Requires

  • php >=5.4
  • ext-curl @stable

 

The Development Requires

by Лавриненко Максим