1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
AbstractCommand.php
См. документацию.
1<?php
2
3declare(strict_types=1);
4
6
11
12abstract class AbstractCommand
13{
14 private ValidationService $validationService;
15
16 public function __construct()
17 {
18 $this->validationService = ServiceLocator::getInstance()->get('main.validation.service');
19 }
20
21 abstract protected function execute(): Result;
22
23 public function run(): Result
24 {
25 $validationResult = $this->validate();
26 if (!$validationResult->isSuccess())
27 {
28 return $validationResult;
29 }
30
31 return $this->execute();
32 }
33
34 protected function validate(): ValidationResult
35 {
36 return $this->validationService->validate($this);
37 }
38}