Skip to content

Latest commit

 

History

History
55 lines (39 loc) · 3.13 KB

readme.md

File metadata and controls

55 lines (39 loc) · 3.13 KB

PHP Time Collision

PHP Version License GitHub Actions GitHub Actions Codacy Badge Codacy Badge Follow Twitter

PHP Time Collision é uma biblioteca para lidar com colisão temporal, podendo identificar horários livres em um período especificado. Útil especialmente para gerenciamento de horários em agendas, onde é preciso encaixar um determinado tempo em um horário disponível.

Sinta-se à vontade para conferir o changelog, os releases e a licença.

Como usar

Existem várias formas de trabalhar com colisões de tempo dentro da biblioteca e podem ser conferidas na documentação. Um exemplo simples é explicado a seguir:

// Gera um range de 24 horas no dia 10/01/2020
$object = new Collision('2020-01-10');

// Libera dois períodos dentro do range
$object->fromDefaults()->enablePeriod('13:00', '14:00');
$object->fromDefaults()->enablePeriod('15:00', '18:00');

// Obtém os períodos onde 01h30m pode se encaixar
$fittings = $object->fromFillings()->getFittingsFor(90);

O resultado será um array contendo todos os períodos disponíveis onde 1h30m podem ser alocados. No exemplo acima, a variável "$fittings" terá o seguinte conteúdo:

[
    0 => Interval("2020-01-10 15:00:00","2020-01-10 18:00:00")
]

Ou seja, apenas o período das 15:00 às 18:00 podem alocar 01h30m. O valor, constituído de um array com dois elementos, corresponde ao início e ao fim dos períodos, ou seja, das 15:00 às 18:00.

Para mais informações, consulte a Documentação da Biblioteca para descobrir outras funcionalidades.

Características

  • Feito para o PHP 7.4 ou superior;
  • Codificado com boas práticas e máxima qualidade;
  • Bem documentado e amigável para IDEs;
  • Feito para TDD (Test Driven Development);
  • Feito com ❤️ & ☕.

Créditos

Ricardo Pereira Dias