josantonius / validate
PHP 简单库,用于管理数据类型。
Requires
- php: ^7.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.3 || ^2.8
- phpmd/phpmd: ^2.6
- phpunit/phpunit: ^5.7 || ^6.0
- squizlabs/php_codesniffer: ^3.0
This package is auto-updated.
Last update: 2022-08-18 19:40:14 UTC
README
PHP 简单库,用于管理数据类型。
要求
此库支持 PHP 7.4 版本。
安装
安装此扩展的首选方法是使用 Composer。
要安装 PHP Validate 库,只需
composer require Josantonius/Validate
上述命令将只安装必要的文件,如果您希望 下载整个源代码,可以使用
composer require Josantonius/Validate --prefer-source
您还可以使用 Git 克隆完整仓库
$ git clone https://github.com/Josantonius/PHP-Validate.git
或 手动安装
wget https://raw.githubusercontent.com/Josantonius/PHP-Validate/master/src/Validate.php
可用方法
此库中的可用方法
- 以数组形式返回参数
Validate::asArray($data, $default);
属性 | 描述 | 类型 | 必需 | 默认 |
---|---|---|---|---|
$data | 要转换的数据。 | mixed | 是 | |
$default | 错误情况下的默认值。 | mixed | 否 | ´null´ |
返回 (mixed|null) → 值,null 或自定义返回值
- 以对象形式返回参数
Validate::asObject($data, $default);
属性 | 描述 | 类型 | 必需 | 默认 |
---|---|---|---|---|
$data | 要转换的数据。 | mixed | 是 | |
$default | 错误情况下的默认值。 | mixed | 否 | ´null´ |
返回 (mixed|null) → 值,null 或自定义返回值
- 以 JSON 形式返回参数
Validate::asJson($data, $default);
属性 | 描述 | 类型 | 必需 | 默认 |
---|---|---|---|---|
$data | 要转换的数据。 | mixed | 是 | |
$default | 错误情况下的默认值。 | mixed | 否 | ´null´ |
返回 (mixed|null) → 值,null 或自定义返回值
- 以字符串形式返回参数
Validate::asString($data, $default);
属性 | 描述 | 类型 | 必需 | 默认 |
---|---|---|---|---|
$data | 要转换的数据。 | mixed | 是 | |
$default | 错误情况下的默认值。 | mixed | 否 | ´null´ |
返回 (mixed|null) → 值,null 或自定义返回值
- 以整数形式返回参数
Validate::asInteger($data, $default);
属性 | 描述 | 类型 | 必需 | 默认 |
---|---|---|---|---|
$data | 要转换的数据。 | mixed | 是 | |
$default | 错误情况下的默认值。 | mixed | 否 | ´null´ |
返回 (mixed|null) → 值,null 或自定义返回值
- 以浮点数形式返回参数
Validate::asFloat($data, $default);
属性 | 描述 | 类型 | 必需 | 默认 |
---|---|---|---|---|
$data | 要转换的数据。 | mixed | 是 | |
$default | 错误情况下的默认值。 | mixed | 否 | ´null´ |
返回 (mixed|null) → 值,null 或自定义返回值
- 以布尔形式返回参数
Validate::asBoolean($data, $default);
属性 | 描述 | 类型 | 必需 | 默认 |
---|---|---|---|---|
$data | 要转换的数据。 | mixed | 是 | |
$default | 错误情况下的默认值。 | mixed | 否 | ´null´ |
返回 (mixed|null) → 值,null 或自定义返回值
- 以 IP 形式返回参数
Validate::asIp($data, $default);
属性 | 描述 | 类型 | 必需 | 默认 |
---|---|---|---|---|
$data | 要转换的数据。 | mixed | 是 | |
$default | 错误情况下的默认值。 | mixed | 否 | ´null´ |
返回 (mixed|null) → 值,null 或自定义返回值
- 以 URL 形式返回参数
Validate::asUrl($data, $default);
属性 | 描述 | 类型 | 必需 | 默认 |
---|---|---|---|---|
$data | 要转换的数据。 | mixed | 是 | |
$default | 错误情况下的默认值。 | mixed | 否 | ´null´ |
返回 (mixed|null) → 值,null 或自定义返回值
- 以 URL 形式返回参数
Validate::asEmail($data, $default);
属性 | 描述 | 类型 | 必需 | 默认 |
---|---|---|---|---|
$data | 要转换的数据。 | mixed | 是 | |
$default | 错误情况下的默认值。 | mixed | 否 | ´null´ |
返回 (mixed|null) → 值,null 或自定义返回值
快速入门
要使用 Composer 使用此库
require __DIR__ . '/vendor/autoload.php'; use Josantonius\Validate\Validate;
或者如果您是手动安装的,请使用它
require_once __DIR__ . '/Validate.php'; use Josantonius\Validate\Validate;
用法
此库的使用示例
- 数组
- 当传递一个数组时
var_dump(Validate::asArray(['foo', 'bar'])); // ['foo', 'bar']
- 当传递一个 JSON 数组时
var_dump(Validate::asArray('["foo", "bar"]')); // ['foo', 'bar']
- 当传递一个对象时
$data = new \StdClass; $data->foo = 'bar'; var_dump(Validate::asArray($data)); // ['foo' => 'bar']
- 当传递一个 JSON 对象时
var_dump(Validate::asArray('{"foo": "bar"}')); // ['foo' => 'bar']
- 当没有正确数组时,参数返回默认值
var_dump(Validate::asArray(false)); // null var_dump(Validate::asArray(false, ['foo', 'bar'])); // ['foo', 'bar']
- 对象
- 当传递一个对象时
$data = new \StdClass; $data->foo = 'bar'; $object = Validate::asObject($data); echo $object->foo; // 'bar'
- 当传递一个 JSON 对象时
$object = Validate::asObject('{"foo": "bar"}'); echo $object->foo; // 'bar'
- 当传递一个数组时
$object = Validate::asObject(['foo' => 'bar'])); echo $object->foo; // 'bar'
- 当没有正确对象时,参数返回默认值
var_dump(Validate::asObject(false)); // null $object = Validate::asObject(false, ['foo' => 'bar']); echo $object->foo; // 'bar'
- JSON
- 当传递一个 JSON 对象时
echo Validate::asJson('{"foo": "bar"}'); // '{"foo": "bar"}'
- 当传递一个数组时
echo Validate::asJson(['foo' => 'bar']); // '{"foo":"bar"}'
- 当传递一个对象时
$data = new \StdClass; $data->foo = 'bar'; echo Validate::asJson($data); // '{"foo":"bar"}'
- 当没有正确 JSON 时,参数返回默认值
var_dump(Validate::asJson(false)); // null echo Validate::asJson(false, '["foo", "bar"]'); // '["foo", "bar"]'
- 字符串
- 当传递一个字符串时
echo Validate::asString('foo'); // 'foo'
- 当传递一个整数时
echo Validate::asString(221104); // '221104'
- 当没有正确字符串时,参数返回默认值
var_dump(Validate::asString(false)); // null echo Validate::asString(false, 'foo'); // 'foo'
- 整数
- 当传递一个整数时
echo Validate::asInteger(8); // 8
- 当传递一个字符串时
echo Validate::asInteger('8'); // 8
- 当没有正确整数时,参数返回默认值
var_dump(Validate::asInteger(false)); // null echo Validate::asInteger(false, 8); // 8
- FLOAT
- 当传入一个浮点数时
echo Validate::asFloat(8.8); // 8.8
- 当传入一个字符串时
echo Validate::asFloat('8.8'); // 8.8
- 当没有正确浮点数时,参数返回默认值
var_dump(Validate::asFloat(false)); // null echo Validate::asFloat(false, 8.8); // 8.8
- BOOLEAN
- 当传入布尔值 true 时
var_dump(Validate::asBoolean(true)); // true
- 当传入字符串 true 时
var_dump(Validate::asBoolean('true')); // true
- 当传入整数 1 时
var_dump(Validate::asBoolean(1)); // true
- 当传入字符串 1 时
var_dump(Validate::asBoolean('1')); // true
- 当传入布尔值 false 时
var_dump(Validate::asBoolean(false)); // false
- 当传入字符串 false 时
var_dump(Validate::asBoolean('false')); // false
- 当传入整数 0 时
var_dump(Validate::asBoolean(0)); // false
- 当传入字符串 0 时
var_dump(Validate::asBoolean('0')); // false
- 当没有正确布尔值时,参数返回默认值
var_dump(Validate::asBoolean(null)); // null echo Validate::asBoolean(null, true); // true
- IP
- 当传入 IP 时
echo Validate::asIp('255.255.255.0'); // '255.255.255.0'
- 当没有正确 IP 时,参数返回默认值
var_dump(Validate::asIp(null)); // null echo Validate::asIp(null, '255.255.255.0'); // '255.255.255.0'
- URL
- 当传入 URL 时
echo Validate::asUrl('https://josantonius.com'); // 'https://josantonius.com'
- 当没有正确 URL 时,参数返回默认值
var_dump(Validate::asUrl(null)); // null echo Validate::asUrl(null, 'https://josantonius.com'); // 'https://josantonius.com'
- 当传入 Email 时
echo Validate::asEmail('hello@josantonius.com'); // 'hello@josantonius.com'
- 当没有正确 Email 时,参数返回默认值
var_dump(Validate::asEmail(null)); // null echo Validate::asEmail(null, 'hello@josantonius.com'); // 'hello@josantonius.com'
测试
git clone https://github.com/Josantonius/PHP-Validate.git
cd PHP-Validate
composer install
使用PHPUnit运行单元测试
composer phpunit
composer phpcs
运行PHP Mess Detector测试,以检测代码风格的不一致性
composer phpmd
运行所有之前的测试
composer tests
赞助
如果这个项目帮助您减少了开发时间,您可以赞助我以支持我的开源工作 😊
许可证
本存储库采用MIT许可证许可。
版权所有 © 2018-2022,Josantonius