xdevor / type
一个由 Laravel 的验证组件支持的 Laravel 对象类型集合的 Laravel 扩展包。
v0.0.1-alpha
2023-11-11 08:04 UTC
Requires
- php: ^7.4
Requires (Dev)
- orchestra/testbench: ^6.38
- pestphp/pest: ^1.23
This package is auto-updated.
Last update: 2024-09-11 09:53:00 UTC
README
在这个包中,我们引入了一个新的类型包,专注于验证对象类型。
这个包不仅允许您验证基本数据类型,还支持复杂对象结构。使用 Laravel 的流畅验证语法,您可以定义对象的预期属性,以确保其类型和存在。
安装
使用 composer 安装此包
composer require xdevor/type
用法
- ❌ 没有对象类型
function increase(int $count) { if ($count < 1) { throw new InvalidArgumentException('Receive invalid argument'); } return $this->value + $count; }
- ✅ 有对象类型
use Xdevor\Type\Numbers\PositiveInt; function increase(PositiveInt $count) { return $this->value + $count->value(); }
功能
支持
- PositiveInt: 正整数
- NegativeInt: 负整数
待办事项
- NonZeroInt: 非零整数
- PositiveFloat: 正浮点数
- NegativeFloat: 负浮点数
- NonZeroFloat: 非零浮点数
- NonEmptyString: 非空字符串
- EmailAddress: 电子邮件地址
- Url: 网址
- PhoneNumber: 电话号码
- Date: 日期
- DateTime: 日期和时间
- Uuid: 全局唯一标识符 (UUID)
- IPv4Address: IPv4 地址
- IPv6Address: IPv6 地址
- HexColorCode: 十六进制颜色代码
- AlphanumericString: 数字字母字符串
- Json: JSON 字符串
- ArrayOfType: 特定类型的数组
- CustomEnum: 自定义枚举类型
- CreditCardNumber: 信用卡号
- SocialSecurityNumber: 社会安全号码
- LatitudeLongitude: 纬度和经度坐标
- CurrencyAmount: 货币金额
- Percentage: 百分比值
- FileSize: 文件大小
- TimeInterval: 时间间隔
- ISBN: 国际标准书号 (ISBN)
- MACAddress: MAC 地址
- IBAN: 国际银行账户号码 (IBAN)
- Password: 具有特定约束的密码
- PostalCode: 邮政编码
- CreditScore: 信用评分
- FahrenheitTemperature: 华氏温度
- CelsiusTemperature: 摄氏温度
- BinaryData: 二进制数据
- Gender: 性别(男性/女性/其他)
- Latitude: 纬度坐标
- Longitude: 经度坐标
- ISBN13: ISBN-13
- IMEI: 国际移动设备身份码 (IMEI)
- CreditCardExpirationDate: 信用卡过期日期
- VATNumber: 增值税 (VAT) 号码
- HexadecimalNumber: 十六进制数
- BooleanString: 以字符串表示的布尔值
- RomanNumeral: 罗马数字
- PassportNumber: 护照号码
- MIMEType: 多用途互联网邮件扩展 (MIME) 类型
- MACAddressOUI: MAC 地址组织唯一标识符 (OUI)
- EAN13: 国际物品编号 (EAN-13)
- EAN8: 国际物品编号 (EAN-8)
- VehicleIdentificationNumber (VIN): 车辆识别号码 (VIN)
- ISSN: 国际标准连续出版物编号 (ISSN)
- UPC: 全球统一产品代码 (UPC)
- GS1Barcode: GS1 条码
- MD5Hash: MD5 哈希
- SHA1Hash: SHA-1 哈希
- SHA256Hash: SHA-256 哈希
- SHA512Hash: SHA-512 哈希
- RGBColor: RGB 颜色
- RGBAColor:带alpha通道的RGBA颜色
- HSLColor:HSL颜色
- HSLAColor:带alpha通道的HSLA颜色
- HTMLColorName:HTML颜色名称
- Base64EncodedString:Base64编码的字符串
- ISBN10:ISBN-10
- USStateAbbreviation:美国州简称
- CanadianPostalCode:加拿大邮政编码
- SocialMediaUsername:社交媒体用户名
- HexadecimalRGBColor:十六进制RGB颜色
- AlphabeticalString:字母字符串
- MongoDBObjectId:MongoDB对象ID
- JWToken:JSON Web Token (JWT)
- UnixTimestamp:Unix时间戳
- YouTubeVideoId:YouTube视频ID
- HexadecimalUUID:十六进制UUID
- HTTPStatusCode:HTTP状态码
- SemVer:语义化版本字符串
- EpochTime:纪元时间
- HexadecimalMACAddress:十六进制MAC地址
- GoogleAnalyticsTrackingId:Google Analytics跟踪ID
- USZipCode:美国ZIP代码
- Slug:URL友好的slug
- TwitterHandle:Twitter账号
- HexadecimalBinary:十六进制二进制数据
- RandomGuid:随机生成的GUID
- ICAOAirportCode:ICAO机场代码
- HexadecimalHTMLColor:十六进制HTML颜色代码
- GitCommitHash:Git提交哈希
- CustomMimeType:自定义MIME类型
- GPSCoordinates:GPS坐标
- AmericanExpressCardNumber:美国运通信用卡号
- MasterCardNumber:万事达信用卡号
- VisaCardNumber:维萨信用卡号
- DinersClubCardNumber:大都会信用卡号
- DiscoverCardNumber:发现信用卡号
- JCBCardNumber:JCB信用卡号
- DebitCardNumber:借记卡号
- WindowsFilePath:Windows文件路径
- UnixFilePath:Unix文件路径
- CurrencyCode:表示货币代码(例如,USD、EUR)。
- CurrencyAmount:表示特定货币金额的数值。
- ExchangeRate:表示两种货币之间的汇率。
- CryptocurrencyCode:表示加密货币代码(例如,BTC、ETH)。
- CryptocurrencyAmount:表示特定加密货币金额的数值。
- BitcoinAddress:表示比特币钱包地址。
- EthereumAddress:表示以太坊钱包地址。
- LitecoinAddress:表示莱特币钱包地址。
- RippleAddress:表示瑞波币钱包地址。
- MoneroAddress:表示门罗币钱包地址。
- StellarAddress:表示恒星币钱包地址。
- EOSAddress:表示EOS钱包地址。
- DashAddress:表示达世币钱包地址。
- ZcashAddress:表示零币钱包地址。
- USDCurrency:表示美元(USD)。
- EuroCurrency:表示欧元(EUR)。
- BritishPoundCurrency:表示英镑(GBP)。
- JapaneseYenCurrency:表示日元(JPY)。
- CanadianDollarCurrency:表示加拿大元(CAD)。
- AustralianDollarCurrency:表示澳大利亚元(AUD)。
- SwissFrancCurrency:表示瑞士法郎(CHF)。
- ChineseYuanCurrency:表示人民币(CNY)。
- IndianRupeeCurrency:表示印度卢比(INR)。
- BrazilianRealCurrency:表示巴西雷亚尔(BRL)。
- SouthAfricanRandCurrency:表示南非兰特(ZAR)。
- SwedishKronaCurrency:表示瑞典克朗(SEK)。
- NorwegianKroneCurrency:表示挪威克朗(NOK)。
- SingaporeDollarCurrency:表示新加坡元(SGD)。
- NewZealandDollarCurrency:表示新西兰元(NZD)。
- MexicanPesoCurrency:表示墨西哥比索(MXN)。
贡献
请参阅CONTRIBUTING获取详细信息。
行为准则
为确保PHP社区对所有成员友好,请查阅并遵守行为准则。
安全漏洞
请参阅我们的安全策略,了解如何报告安全漏洞。
许可协议
本软件包是开源软件,根据MIT许可协议授权。