Прочтите Структура модулей (#Actions)
Boot\Abstracts\Actions\Action. - usr
- modules
- {module-name}
- Actions
- CreateItemAction.php
- DeleteItemAction.php
- ...
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 ).