exampleapp/modules/Tasks/Infrastructure/DBPersistLayer/Factory.php

31 lines
781 B
PHP

<?php
namespace Modules\Tasks\Infrastructure\DBPersistLayer;
use Modules\Tasks\Infrastructure\Factory as InfrastructureFactory;
use Modules\Tasks\Factory as ModuleFactory;
class Factory
{
private InfrastructureFactory $infFactory;
private ?TasksLayer $tasksLayer = null;
public function setInfrastructureFactory(InfrastructureFactory $factory): void
{
$this->infFactory = $factory;
}
public function getTasksLayer(): TasksLayer
{
if ($this->tasksLayer) {
return $this->tasksLayer;
}
$this->tasksLayer = new TasksLayer;
$table = $this->infFactory->getModuleFactory()->getSetting(ModuleFactory::TASKS_TABLE);
$this->tasksLayer->setTable($table);
return $this->tasksLayer;
}
}