. */ namespace SP\Modules\Web\Forms; use SP\Core\Application; use SP\Core\Context\ContextInterface; use SP\Domain\Config\In\ConfigDataInterface; use SP\Domain\Config\Services\ConfigFileService; use SP\Http\Request; use SP\Http\RequestInterface; /** * Class FormBase * * @package SP\Modules\Web\Forms */ abstract class FormBase { protected ?int $itemId; protected ConfigFileService $config; protected ConfigDataInterface $configData; protected ContextInterface $context; protected Request $request; /** * FormBase constructor. * * @param \SP\Core\Application $application * @param \SP\Http\RequestInterface $request * @param int|null $itemId */ public function __construct( Application $application, RequestInterface $request, ?int $itemId = null ) { $this->config = $application->getConfig(); $this->configData = $this->config->getConfigData(); $this->context = $application->getContext(); $this->request = $request; $this->itemId = $itemId; } /** * @param int $itemId */ public function setItemId(int $itemId): void { $this->itemId = $itemId; } /** * Analizar los datos de la petición HTTP */ abstract protected function analyzeRequestData(); }