fyre / typeparser
数据库类型解析库。
v3.1.0
2024-08-13 13:39 UTC
Requires
- friendsofphp/php-cs-fixer: ^3.59
- fyre/datetime: ^3.0
- fyre/php-cs-fixer-config: ^1.0
Requires (Dev)
- phpunit/phpunit: ^10
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);