Skip to content

Lide com colisão temporal e identifique horários livres em um intervalo especificado. Gerencie horários em agendas, encaixe um determinado tempo em um horário disponível e obtenha as informações sobre os horários alocados.

License

Notifications You must be signed in to change notification settings

ricardopedias/php-time-collision

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

93 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Lide com colisão temporal e identifique horários livres em um intervalo especificado. Gerencie horários em agendas, encaixe um determinado tempo em um horário disponível e obtenha as informações sobre os horários alocados.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages