Skip to main content

Действия (Actions)

Определение и принципы

Прочтите Структура модулей (#Actions)

Правила

  • Все действия должны наследоваться Boot\Abstracts\Actions\Action.

Структура папок

 - usr
- modules
- {module-name}
- Actions
- CreateItemAction.php
- DeleteItemAction.php
- ...

Пример кода

Действие (Action)

class CreateUserAction extends Action
{
public function run(string $email, string $password, string $name, bool $isClient = false): User
{
$user = app(CreateUserTask::class)->run(
$isClient,
$email,
$password,
$name
);
return $user;
}
}

Вызов нескольких задач

class SampleAction extends Action
{
public function run($a, $b, $c)
{
$foo = app(SampleTask1::class)->run($a, $b);
$bar = app(SampleTask2::class)->run($foo, $c);
}
}

Использование в контроллере

    public function deleteItem(DeleteItemRequest $request)
{
$item = app(DeleteItemAction::class)->run($request);
return $this->deleted($item);
}
Совет

Одно и то же действие МОЖЕТ быть вызвано несколькими контроллерами ( Web, Api, Cli ).