NovinkaZverejnili sme 50+ Laravel balíkov ako open source
Custom AI apps, agents and automation — Roundly ConsultingRoundly
Všetky balíky
Opening Hours for Laravel

Import týždenných polí

Rozšírený formát polí s kľúčmi podľa dní v týždni balík číta natívne, takže prechod zo staršieho riešenia je import dát, nie prepis:

use RoundlyConsulting\OpeningHours\DataTransferObjects\CalendarData;
use RoundlyConsulting\OpeningHours\Facades\OpeningHours;
use RoundlyConsulting\OpeningHours\Validation\ParseOptions;

$data = CalendarData::fromWeekArray([
    'monday' => ['09:00-12:00', ['hours' => '13:00-18:00', 'data' => 'Afternoon']],
    'exceptions' => [
        '2026-12-24' => [],
        '12-25' => ['data' => 'Christmas'],
        '2026-12-27 to 2026-12-30' => ['10:00-12:00'],
    ],
], new ParseOptions(mergeOverlapping: true));

OpeningHours::sync($clinic, $data);   // or $clinic->setOpeningHours($data)
  • data na rozsahu alebo dni sa zachová — reťazec sa stane popisom, pole sa uloží ako meta.
  • Kľúče výnimiek: Y-m-d (jednorazová), m-d (každoročná) a obdobia Y-m-d to Y-m-d alebo m-d to m-d; [] alebo záznam bez hours znamená zatvorené.
  • overflow sa ignoruje — nočné rozsahy vždy pokračujú cez polnoc.
  • Pri mergeOverlapping zostane rozsah, ktorý sa s ničím neprekrýva, presne taký, aký je; zlúčený rozsah si ponechá popis, kapacitu či položku meta, len ak sa na nich zhodujú všetky pohltené rozsahy.
  • filters sa odmietne (unsupported_week_array_feature) — namiesto neho použite DynamicExceptionProvider.

Validácia pred importom

WeekArrayParser namiesto vyhodenia výnimky vráti ParseResult, takže jeden chybný záznam nezastaví hromadný import; cesty porušení používajú pôvodné kľúče:

use RoundlyConsulting\OpeningHours\Validation\WeekArrayParser;

$result = WeekArrayParser::parse($weekArray);   // ParseResult — never throws
$result->isValid();
$result->violations;                            // paths use the legacy keys: mon.0, exceptions.2026-12-24.0
$result->dataOrFail();                          // CalendarData

Prejavte lásku k open source

Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.

Ďalšie spôsoby podpory vrátane kryptomien

Odoslaním daru súhlasíte s našimi podmienkami prijímania darov.

Chcete to zabudovať do svojho produktu?

Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.