hachicode/action-pattern
最新稳定版本:1.0.2
Composer 安装命令:
composer require hachicode/action-pattern
包简介
This package implements actions for Laravel 11 based in Command pattern for execute functions in the granular way
README 文档
README
This package implements a basic action pattern, based in command pattern using the Validator by default from laravel
Features
- Command for create action
- Config file for custom directory based in namespace configured and psr-4 standard
Instructions
composer require hachicode/action-pattern
php artisan vendor:publish --tag=action-pattern-config
Commands
Generate command without validation
php artisan make:action LoginAction
Generate command with validation
php artisan make:action LoginValidatedAction --validated
Structure the classes generated
Action simple
namespace App\Actions; use Hachicode\ActionPattern\Classes\Action; class LoginAction extends Action { /** * Execute the action * * @return mixed */ public function handle(array $data) : mixed { // Set your logic return $data; } }
Action validated
namespace App\Actions; use Illuminate\Support\Facades\Validator; use Hachicode\ActionPattern\Classes\ActionValidated; class LoginValidatedAction extends ActionValidated { /** * @param array $data Is the validated result from method validation */ public function handle(array $data): mixed { // Execute your logic with your data validated return $data; } public function validation(array $data): array { $validator = Validator::make($data, [ // Set your rules ]); if ($validator->fails()) { throw new \Exception(message: 'Validation failed in LoginValidatedAction action' . collect($validator->errors())->join(', ')); } return $validator->validated(); } }
Execute the action
use App\Actions\LoginValidatedAction; // ... $result = LoginValidatedAction::run($data); ...
统计信息
- 总下载量: 573
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-02-03