Rozširovanie
Výmena modelov
Nasmerujte models.calendar, models.schedule alebo models.exception_rule na podtriedu modelu z balíka — zámerne nie sú final. Kľúče nastavte v konfigurácii, nie za behu; trieda, ktorá nie je modelom balíka ani jeho podtriedou, vyhodí InvalidConfigurationException z toolkitu s názvom kľúča — nikdy sa potichu nenahradí:
// app/Models/Calendar.php
namespace App\Models;
final class Calendar extends \RoundlyConsulting\OpeningHours\Models\Calendar
{
protected $connection = 'tenant';
}
// config/opening-hours.php
'models' => [
'calendar' => App\Models\Calendar::class,
'schedule' => RoundlyConsulting\OpeningHours\Models\Schedule::class,
'exception_rule' => RoundlyConsulting\OpeningHours\Models\ExceptionRule::class,
],Transakcie používajú vlastné pripojenie modelu kalendára, takže vymenený model na inom pripojení funguje.
Hooky vlastníka
- openingHoursTimezone(): ?string — časové pásmo pre kalendáre bez vlastného.
- openingHoursDynamicExceptions(): array — inštancie DynamicExceptionProvider uplatnené na kalendáre vlastníka.
Vlastní poskytovatelia
Implementujte DynamicExceptionProvider pre vypočítané sviatky (pozri Výnimky a sviatky) a BusyPeriodProvider pre akýkoľvek zdroj obsadeného času (pozri Poskytovatelia obsadenosti). Nič z toho netreba registrovať — odovzdajte ich hooku vlastníka, withDynamicExceptions() alebo withBusyPeriods().
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 kryptomienOdoslaní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.