jannbar/brainiac

一个模式验证库,深受Zod启发。

v1.3.0 2024-06-17 09:44 UTC

This package is auto-updated.

Last update: 2024-09-28 12:41:29 UTC


README

一个PHP模式验证库,深受Zod启发。

代码质量

Brainiac的代码经过全面测试,并符合最大级别的PHPStan

安装

composer require jannbar/brainiac

用法

目前支持以下数据类型

您可以使用parsesafe_parse方法。当验证失败时,parse将抛出异常,而safe_parse将始终返回一个基于验证成功形状的关联数组

// On validation success.
$success = [
  "success" => true,
  "data" => "parsed value",
];

// On validation failure.
$failure = [
  "success" => false,
  "error" => "error message",
];

数组

<?php

use Jannbar/Brainiac/Brainiac;

Brainiac::array()->parse([4, 2]);
Brainiac::array()->min(1)->parse([4, 2]);
Brainiac::array()->max(10)->parse([4, 2]);
Brainiac::array()->of(Brainiac::number())->parse([4, 2]);

布尔值

<?php

use Jannbar/Brainiac/Brainiac;

Brainiac::boolean()->parse(true);

数字

<?php

use Jannbar/Brainiac/Brainiac;

Brainiac::number()->parse(42);
Brainiac::number()->min(1)->parse(42);
Brainiac::number()->max(10)->parse(42);
Brainiac::number()->int()->parse(42);
Brainiac::number()->float()->parse(43.5);
Brainiac::number()->positive()->parse(1);
Brainiac::number()->negative()->parse(-1);

字符串

<?php

use Jannbar/Brainiac/Brainiac;

Brainiac::string()->parse('foo');
Brainiac::string()->min(1)->parse('foo');
Brainiac::string()->max(10)->parse('foo');