ap-lib/scheme 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

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

ap-lib/scheme

Composer 安装命令:

composer require ap-lib/scheme

包简介

README 文档

README

MIT License

AP\Scheme provides a structured framework for defining data validation, transformation, and object conversion in PHP.
It offers a set of interfaces and base classes that help implement safe and consistent data handling across applications

Installation

composer require ap-lib/scheme

Features

  • Data Transformation: Convert objects to and from structured data formats.
  • Validation: Implement validation rules and return meaningful error responses.
  • Error Handling: Standardized error classes to track issues in transformation and validation.
  • Flexible Conversion: Implement custom strategies for data serialization and deserialization.

Requirements

  • PHP 8.3 or higher

Getting started

Implementing FromObject

This allows converting an object to a primitive representation

use AP\Scheme\FromObject;

class User implements FromObject
{
    public function __construct(
        private string $name,
        private int $age
    ) {}

    public function fromObject(): array
    {
        return [
            'name' => $this->name,
            'age'  => $this->age,
        ];
    }
}

Implementing ToObject

This allows constructing an object from structured data.

use AP\Scheme\ToObject;
use AP\ErrorNode\ThrowableErrors

class User implements ToObject
{
    public function __construct(
        private string $name,
        private int $age
    ) {}

    public static function toObject(array|string|int|float|bool|null $data): static
    {
        if (!is_array($data) || !isset($data['name'], $data['age'])) {
            throw new ThrowableErrors([new BaseError("Invalid input data")]);
        }

        return new self($data['name'], $data['age']);
    }
}

Implementing Validation

This ensures the object maintains a valid internal state

use AP\Scheme\Validation;
use AP\ErrorNode\Error;
use AP\ErrorNode\Errors;

class User implements Validation
{
    public function __construct(
        private string $name,
        private int $age
    ) {}

    public function isValid(): true|DataErrors
    {
        $errors = [];

        if (empty($this->name)) {
            $errors[] = new Error("Name cannot be empty", ["name"]);
        }

        if ($this->age < 0) {
            $errors[] = new Error("Age must be a positive integer", ["age"]);
        }

        return empty($errors) ? true : new Errors($errors);
    }
}

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-02-11

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固