xdevor/type

一个由 Laravel 的验证组件支持的 Laravel 对象类型集合的 Laravel 扩展包。

v0.0.1-alpha 2023-11-11 08:04 UTC

This package is auto-updated.

Last update: 2024-09-11 09:53:00 UTC


README

在这个包中,我们引入了一个新的类型包,专注于验证对象类型。

这个包不仅允许您验证基本数据类型,还支持复杂对象结构。使用 Laravel 的流畅验证语法,您可以定义对象的预期属性,以确保其类型和存在。

Test Status Total Downloads packagist License

安装

使用 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();
}

功能

支持

  1. PositiveInt: 正整数
  2. NegativeInt: 负整数

待办事项

  1. NonZeroInt: 非零整数
  2. PositiveFloat: 正浮点数
  3. NegativeFloat: 负浮点数
  4. NonZeroFloat: 非零浮点数
  5. NonEmptyString: 非空字符串
  6. EmailAddress: 电子邮件地址
  7. Url: 网址
  8. PhoneNumber: 电话号码
  9. Date: 日期
  10. DateTime: 日期和时间
  11. Uuid: 全局唯一标识符 (UUID)
  12. IPv4Address: IPv4 地址
  13. IPv6Address: IPv6 地址
  14. HexColorCode: 十六进制颜色代码
  15. AlphanumericString: 数字字母字符串
  16. Json: JSON 字符串
  17. ArrayOfType: 特定类型的数组
  18. CustomEnum: 自定义枚举类型
  19. CreditCardNumber: 信用卡号
  20. SocialSecurityNumber: 社会安全号码
  21. LatitudeLongitude: 纬度和经度坐标
  22. CurrencyAmount: 货币金额
  23. Percentage: 百分比值
  24. FileSize: 文件大小
  25. TimeInterval: 时间间隔
  26. ISBN: 国际标准书号 (ISBN)
  27. MACAddress: MAC 地址
  28. IBAN: 国际银行账户号码 (IBAN)
  29. Password: 具有特定约束的密码
  30. PostalCode: 邮政编码
  31. CreditScore: 信用评分
  32. FahrenheitTemperature: 华氏温度
  33. CelsiusTemperature: 摄氏温度
  34. BinaryData: 二进制数据
  35. Gender: 性别(男性/女性/其他)
  36. Latitude: 纬度坐标
  37. Longitude: 经度坐标
  38. ISBN13: ISBN-13
  39. IMEI: 国际移动设备身份码 (IMEI)
  40. CreditCardExpirationDate: 信用卡过期日期
  41. VATNumber: 增值税 (VAT) 号码
  42. HexadecimalNumber: 十六进制数
  43. BooleanString: 以字符串表示的布尔值
  44. RomanNumeral: 罗马数字
  45. PassportNumber: 护照号码
  46. MIMEType: 多用途互联网邮件扩展 (MIME) 类型
  47. MACAddressOUI: MAC 地址组织唯一标识符 (OUI)
  48. EAN13: 国际物品编号 (EAN-13)
  49. EAN8: 国际物品编号 (EAN-8)
  50. VehicleIdentificationNumber (VIN): 车辆识别号码 (VIN)
  51. ISSN: 国际标准连续出版物编号 (ISSN)
  52. UPC: 全球统一产品代码 (UPC)
  53. GS1Barcode: GS1 条码
  54. MD5Hash: MD5 哈希
  55. SHA1Hash: SHA-1 哈希
  56. SHA256Hash: SHA-256 哈希
  57. SHA512Hash: SHA-512 哈希
  58. RGBColor: RGB 颜色
  59. RGBAColor:带alpha通道的RGBA颜色
  60. HSLColor:HSL颜色
  61. HSLAColor:带alpha通道的HSLA颜色
  62. HTMLColorName:HTML颜色名称
  63. Base64EncodedString:Base64编码的字符串
  64. ISBN10:ISBN-10
  65. USStateAbbreviation:美国州简称
  66. CanadianPostalCode:加拿大邮政编码
  67. SocialMediaUsername:社交媒体用户名
  68. HexadecimalRGBColor:十六进制RGB颜色
  69. AlphabeticalString:字母字符串
  70. MongoDBObjectId:MongoDB对象ID
  71. JWToken:JSON Web Token (JWT)
  72. UnixTimestamp:Unix时间戳
  73. YouTubeVideoId:YouTube视频ID
  74. HexadecimalUUID:十六进制UUID
  75. HTTPStatusCode:HTTP状态码
  76. SemVer:语义化版本字符串
  77. EpochTime:纪元时间
  78. HexadecimalMACAddress:十六进制MAC地址
  79. GoogleAnalyticsTrackingId:Google Analytics跟踪ID
  80. USZipCode:美国ZIP代码
  81. Slug:URL友好的slug
  82. TwitterHandle:Twitter账号
  83. HexadecimalBinary:十六进制二进制数据
  84. RandomGuid:随机生成的GUID
  85. ICAOAirportCode:ICAO机场代码
  86. HexadecimalHTMLColor:十六进制HTML颜色代码
  87. GitCommitHash:Git提交哈希
  88. CustomMimeType:自定义MIME类型
  89. GPSCoordinates:GPS坐标
  90. AmericanExpressCardNumber:美国运通信用卡号
  91. MasterCardNumber:万事达信用卡号
  92. VisaCardNumber:维萨信用卡号
  93. DinersClubCardNumber:大都会信用卡号
  94. DiscoverCardNumber:发现信用卡号
  95. JCBCardNumber:JCB信用卡号
  96. DebitCardNumber:借记卡号
  97. WindowsFilePath:Windows文件路径
  98. UnixFilePath:Unix文件路径
  99. CurrencyCode:表示货币代码(例如,USD、EUR)。
  100. CurrencyAmount:表示特定货币金额的数值。
  101. ExchangeRate:表示两种货币之间的汇率。
  102. CryptocurrencyCode:表示加密货币代码(例如,BTC、ETH)。
  103. CryptocurrencyAmount:表示特定加密货币金额的数值。
  104. BitcoinAddress:表示比特币钱包地址。
  105. EthereumAddress:表示以太坊钱包地址。
  106. LitecoinAddress:表示莱特币钱包地址。
  107. RippleAddress:表示瑞波币钱包地址。
  108. MoneroAddress:表示门罗币钱包地址。
  109. StellarAddress:表示恒星币钱包地址。
  110. EOSAddress:表示EOS钱包地址。
  111. DashAddress:表示达世币钱包地址。
  112. ZcashAddress:表示零币钱包地址。
  113. USDCurrency:表示美元(USD)。
  114. EuroCurrency:表示欧元(EUR)。
  115. BritishPoundCurrency:表示英镑(GBP)。
  116. JapaneseYenCurrency:表示日元(JPY)。
  117. CanadianDollarCurrency:表示加拿大元(CAD)。
  118. AustralianDollarCurrency:表示澳大利亚元(AUD)。
  119. SwissFrancCurrency:表示瑞士法郎(CHF)。
  120. ChineseYuanCurrency:表示人民币(CNY)。
  121. IndianRupeeCurrency:表示印度卢比(INR)。
  122. BrazilianRealCurrency:表示巴西雷亚尔(BRL)。
  123. SouthAfricanRandCurrency:表示南非兰特(ZAR)。
  124. SwedishKronaCurrency:表示瑞典克朗(SEK)。
  125. NorwegianKroneCurrency:表示挪威克朗(NOK)。
  126. SingaporeDollarCurrency:表示新加坡元(SGD)。
  127. NewZealandDollarCurrency:表示新西兰元(NZD)。
  128. MexicanPesoCurrency:表示墨西哥比索(MXN)。

贡献

请参阅CONTRIBUTING获取详细信息。

行为准则

为确保PHP社区对所有成员友好,请查阅并遵守行为准则

安全漏洞

请参阅我们的安全策略,了解如何报告安全漏洞。

许可协议

本软件包是开源软件,根据MIT许可协议授权。