fyre/typeparser

数据库类型解析库。

v3.1.0 2024-08-13 13:39 UTC

This package is auto-updated.

Last update: 2024-09-13 13:54:45 UTC


README

FyreTypeParser 是一个免费的、开源的 PHP 数据库类型解析库。

目录

安装

使用 Composer

composer require fyre/typeparser

在 PHP 中

use Fyre\DB\TypeParser;

方法

清除

清除所有已加载的类型。

TypeParser::clear();

获取类型

获取值的映射 类型 类。

  • $type 是表示值类型的字符串。
$typeClass = TypeParser::getType($type);

获取类型映射

获取类型类映射。

$typeMap = TypeParser::useMap();

映射类型

将值类型映射到类。

  • $type 是表示值类型的字符串。
  • $typeClass 是表示类名的字符串。
TypeParser::mapType($type, $typeClass);

使用

为值类型加载共享 类型 实例。

  • $type 是表示值类型的字符串。
$parser = TypeParser::use($type);

类型

您可以通过指定上面 use 方法的 $type 参数来加载特定的类型解析器。

可以通过扩展 \Fyre\DB\Types\Type 来创建自定义类型解析器,并确保实现所有以下方法。

从数据库

将数据库值解析为 PHP 值。

  • $value 是要解析的值。
$parsedValue = $parser->fromDatabase($value);

解析

将用户值解析为 PHP 值。

  • $value 是要解析的值。
$parsedValue = $parser->parse($value);

到数据库

将 PHP 值解析为数据库值。

  • $value 是要解析的值。
$dbValue = $parser->toDatabase($value);

二进制

$parser = TypeParser::use('binary');

布尔值

$parser = TypeParser::use('boolean');

日期

$parser = TypeParser::use('date');

获取地区格式

获取地区格式。

$format = $parser->getLocaleFormat();

设置地区格式

设置地区格式。

  • $format 是表示地区格式的字符串。
$parser->setLocaleFormat($format);

日期时间

$parser = TypeParser::use('datetime');

获取地区格式

获取地区格式。

$format = $parser->getLocaleFormat();

获取服务器时区

获取服务器时区。

$timeZone = $parser->getServerTimeZone();

获取用户时区

获取用户时区。

$timeZone = $parser->getUserTimeZone();

设置地区格式

设置地区格式。

  • $format 是表示地区格式的字符串。
$parser->setLocaleFormat($format);

设置服务器时区

获取服务器时区。

  • $timeZone 是表示时区名称的字符串。
$parser->setServerTimeZone($timeZone);

设置用户时区

获取用户时区。

  • $timeZone 是表示时区名称的字符串。
$parser->setUserTimeZone($timeZone);

日期时间(分数)

$parser = TypeParser::use('datetime-fractional');

获取地区格式

获取地区格式。

$format = $parser->getLocaleFormat();

获取服务器时区

获取服务器时区。

$timeZone = $parser->getServerTimeZone();

获取用户时区

获取用户时区。

$timeZone = $parser->getUserTimeZone();

设置地区格式

设置地区格式。

  • $format 是表示地区格式的字符串。
$parser->setLocaleFormat($format);

设置服务器时区

获取服务器时区。

  • $timeZone 是表示时区名称的字符串。
$parser->setServerTimeZone($timeZone);

设置用户时区

获取用户时区。

  • $timeZone 是表示时区名称的字符串。
$parser->setUserTimeZone($timeZone);

日期时间(时区)

$parser = TypeParser::use('datetime-timezone');

获取地区格式

获取地区格式。

$format = $parser->getLocaleFormat();

获取服务器时区

获取服务器时区。

$timeZone = $parser->getServerTimeZone();

获取用户时区

获取用户时区。

$timeZone = $parser->getUserTimeZone();

设置地区格式

设置地区格式。

  • $format 是表示地区格式的字符串。
$parser->setLocaleFormat($format);

设置服务器时区

获取服务器时区。

  • $timeZone 是表示时区名称的字符串。
$parser->setServerTimeZone($timeZone);

设置用户时区

获取用户时区。

  • $timeZone 是表示时区名称的字符串。
$parser->setUserTimeZone($timeZone);

十进制

$parser = TypeParser::use('decimal');

枚举

$parser = TypeParser::use('enum');

浮点数

$parser = TypeParser::use('float');

整数

$parser = TypeParser::use('integer');

JSON

$parser = TypeParser::use('json');

设置编码标志

设置编码标志。

  • $flags 是表示编码标志的数字。
$parser->setEncodingFlags($flags);

设置

$parser = TypeParser::use('set');

字符串

$parser = TypeParser::use('string');

文本

$parser = TypeParser::use('text');

时间

$parser = TypeParser::use('time');

获取地区格式

获取地区格式。

$format = $parser->getLocaleFormat();

设置地区格式

设置地区格式。

  • $format 是表示地区格式的字符串。
$parser->setLocaleFormat($format);