laravel12_start/app/Models/Pages/Factory.php

32 lines
878 B
PHP

<?php
namespace App\Models\Pages;
use App\Models\Factory as ModelsFactory;
use App\Providers\AppServiceProvider;
use Modules\ModulesProvider;
class Factory
{
private ModelsFactory $modelsFactory;
public function setModelsFactory(ModelsFactory $factory): void
{
$this->modelsFactory = $factory;
}
public function createMainInfoPage(): MainInfo
{
$page = new MainInfo;
/** @var ModulesProvider */
$modulesProvider = app()->get(AppServiceProvider::ADMIN_MODULES);
$itemsStorage = $modulesProvider->getJsonObjectsFactory()->getInfrastructureFactory()->getStorage();
$page->setItemsStorage($itemsStorage);
$itemFactory = $modulesProvider->getJsonObjectsFactory()->getDtoFactory()->getItemFactory();
$page->setItemFactory($itemFactory);
$page->init();
return $page;
}
}