dbCore = $dbCore; $this->logger = $logger; $this->cronScheduler = $cronScheduler instanceof ABJ_404_Solution_CronScheduler ? $cronScheduler : abj_cron_scheduler(); } /** * Accessors rather than public fields, and non-nullable rather than * nullable: the constructor resolves every one of these, so a consumer * never has to ask whether it got a real collaborator. The older bundles in * this codebase expose nullable public fields and make each consumer repeat * a `?? abj_service(...)` fallback, which is the duplication this exists to * remove. * * @return ABJ_404_Solution_DatabaseCore */ public function dbCore(): ABJ_404_Solution_DatabaseCore { return $this->dbCore; } /** @return ABJ_404_Solution_Logging */ public function logger(): ABJ_404_Solution_Logging { return $this->logger; } /** @return ABJ_404_Solution_CronScheduler */ public function cronScheduler(): ABJ_404_Solution_CronScheduler { return $this->cronScheduler; } }