Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/bitrix/ext_www/rospirotorg.ru/bitrix/modules/main/lib/Command/ |
Upload File : |
<?php declare(strict_types=1); namespace Bitrix\Main\Command; use Bitrix\Main\Command\Exception\CommandException; use Bitrix\Main\Command\Exception\CommandValidationException; use Bitrix\Main\Error; use Bitrix\Main\Result; abstract class AbstractCommand implements CommandInterface { /** * {@inheritDoc} */ final public function run(): Result { if (!$this->validate()) { throw new CommandValidationException($this->getValidationErrors()); } if ($errorResult = $this->beforeRun()) { return $errorResult; } try { $result = $this->execute(); } catch (\Exception $e) { throw new CommandException($this, 'Command has unprocessed exception', previous: $e); } $this->afterRun(); return $result; } abstract protected function execute(): Result; protected function validate(): bool { return true; } /** * If the method returns a value then the command should not be executed */ protected function beforeRun(): ?Result { return null; } protected function afterRun(): void { } /** * @return Error[] */ private function getValidationErrors(): array { return []; } }