承接 aiodsv2/core 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

aiodsv2/core

最新稳定版本:v1.0.3

Composer 安装命令:

composer require aiodsv2/core

包简介

Core backend components for AIODS framework

README 文档

README

Core backend components for the AIODS framework.

Installation

composer require aiods/core

Features

CRUD Operations

  • CrudService - Main CRUD orchestration service
  • QueryBuilder - Filter, search, and sort queries
  • PaginationService - Handle pagination

Authorization

  • PermissionService - Check user permissions
  • PermissionRepository - Repository pattern for permissions
  • PermissionCache - Cache permissions

Settings

  • SettingsService - Manage application settings
  • SettingsRepository - Repository pattern
  • SettingsCache - Cache settings

Menu

  • MenuService - Manage menu items
  • MenuRepository - Repository pattern
  • MenuCache - Cache menus

File Management

  • FileService - Handle file uploads
  • FileUploadValidator - Validate file uploads

Search

  • GlobalSearchService - Global search functionality
  • Searchable - Trait for searchable models

Audit

  • AuditLogger - Log actions
  • Auditable - Trait for auditable models

Usage

CRUD Service

use Aiods\Core\CRUD\CrudService;

class UserController extends Controller
{
    public function __construct(
        private readonly CrudService $crudService
    ) {}

    public function index(Request $request)
    {
        $query = User::query();
        
        $params = [
            'filters' => $request->only(['status', 'role']),
            'search' => $request->get('search'),
            'search_fields' => ['name', 'email'],
            'sort' => $request->get('sort', 'id'),
            'direction' => $request->get('direction', 'asc'),
            'per_page' => 15
        ];

        $users = $this->crudService->index($query, $params);

        return response()->json($users);
    }

    public function store(Request $request)
    {
        $user = $this->crudService->store(new User(), $request->validated());
        
        return response()->json($user, 201);
    }
}

Query Builder

use Aiods\Core\CRUD\QueryBuilder;

$queryBuilder = new QueryBuilder();

// Apply filters
$query = $queryBuilder->applyFilters($query, [
    'status' => 'active',
    'role_id' => [1, 2, 3]
]);

// Apply search
$query = $queryBuilder->applySearch($query, 'john', ['name', 'email']);

// Apply sorting
$query = $queryBuilder->applySorting($query, 'created_at', 'desc');

Permission Service

use Aiods\Core\Authorization\PermissionService;

class PostController extends Controller
{
    public function __construct(
        private readonly PermissionService $permissionService
    ) {}

    public function edit(User $user, Post $post)
    {
        if (!$this->permissionService->userCan($user, 'posts.edit')) {
            abort(403);
        }

        // ...
    }
}

Package Structure

src/
├── CRUD/
│   ├── CrudService.php
│   ├── QueryBuilder.php
│   └── PaginationService.php
├── Authorization/
│   ├── PermissionService.php
│   ├── PermissionRepository.php
│   └── PermissionCache.php
├── Settings/
│   ├── SettingsService.php
│   ├── SettingsRepository.php
│   └── SettingsCache.php
├── Menu/
│   ├── MenuService.php
│   ├── MenuRepository.php
│   └── MenuCache.php
├── File/
│   └── FileService.php
├── Search/
│   ├── GlobalSearchService.php
│   └── Searchable.php
└── Audit/
    ├── AuditLogger.php
    └── Auditable.php

Requirements

  • PHP ^8.2
  • Laravel ^12.0
  • spatie/laravel-permission ^6.0

License

MIT

统计信息

  • 总下载量: 3
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-10-23