ReservationManagerFactory
in package
FinalYes
Lazy access to {@see ReservationManager} that breaks a circular DI dependency.
Both sides of the reservation flow need each other: TimeSlotManager needs
ReservationManager (slot occupancy, delete and closed-day guards) and
ReservationManager needs TimeSlotManager (availability recalculation, slot
materialization). Constructor injection in both directions would make the container
unbuildable, so TimeSlotManager holds this factory and fetches the manager at call time.
The opposite direction stays a normal constructor dependency.
Table of Contents
Properties
- $container : Container
- $instance : ReservationManager|null
Methods
- __construct() : mixed
- create() : ReservationManager
- Returns the container singleton; the local cache only saves repeated lookups.
Properties
$container read-only
private
Container
$container
$instance
private
ReservationManager|null
$instance
= null
Methods
__construct()
public
__construct(Container $container) : mixed
Parameters
- $container : Container
create()
Returns the container singleton; the local cache only saves repeated lookups.
public
create() : ReservationManager