skyzyx / utility-pack
Requires
- php: >=7.2
- psr/http-message: ^1.0
Requires (Dev)
- codeclimate/php-test-reporter: *@dev
- friendsofphp/php-cs-fixer: ^2.14
- mamuz/php-dependency-analysis: dev-master
- monolog/monolog: ^1.24
- pdepend/pdepend: ^2.5
- php-coveralls/php-coveralls: ^2.0
- phploc/phploc: ^4.0
- phpmetrics/phpmetrics: ^2.2
- phpunit/phpunit: ^8.1
- sebastian/phpcpd: ^4.0
- slim/slim: ^3.8
- squizlabs/php_codesniffer: dev-master
- wapmorgan/php-code-analyzer: ^1.0
This package is auto-updated.
Last update: 2022-02-01 13:07:28 UTC
README

Utility Pack
一组适用于PHP 7.2+的小工具。
徽章
健康状况
质量
社交
合规性
使用说明
查询字符串
信不信由你,不同的PHP安装可能具有不同的默认值来生成查询字符串。此类使用显式规则,以确保查询字符串始终以完全相同的方式生成。底层使用 http_build_query()
。
<?php use SimplePie\UtilityPack\Util\QueryString; echo QueryString::build([ 'limit' => 'a', 'order' => 'b', 'offset' => 'c', ]); #=> limit=a&order=b&offset=c
时间
简单的时间常量。使时间计算更容易阅读和理解。
<?php use SimplePie\UtilityPack\Util\Time; echo sprintf('%s, %s, %s', 1 * Time::SECOND, 2 * Time::SECONDS, 10 * Time::SECONDS); #=> 1, 2, 10 echo sprintf('%s, %s, %s', 1 * Time::MINUTE, 2 * Time::MINUTES, 10 * Time::MINUTES); #=> 60, 120, 600 echo sprintf('%s, %s, %s', 1 * Time::HOUR, 2 * Time::HOURS, 10 * Time::HOURS); #=> 3600, 7200, 36000 echo sprintf('%s, %s, %s', 1 * Time::DAY, 2 * Time::DAYS, 10 * Time::DAYS); #=> 86400, 172800, 864000 echo sprintf('%s, %s, %s', 1 * Time::WEEK, 2 * Time::WEEKS, 10 * Time::WEEKS); #=> 604800, 1209600, 6048000 echo 0.5 * Time::YEAR; #=> 15778800
您还可以使用带有 秒 粒度的标准ISO-8601格式,并设置为UTC “Zulu” 时间(使用 Z 注释)。
<?php use SimplePie\UtilityPack\Util\Time; echo gmdate(Time::FORMAT_ISO8601_ZULU); #=> 2017-05-28T01:46:06Z
类型
您可以轻松获取任何对象的标量类型或类名。
<?php use SimplePie\UtilityPack\Util\Types; echo Types::getClassOrType( new \SimpleXMLElement('<xml/>') ); #=> SimpleXMLElement echo Types::getClassOrType( new DateTime( 'now', new DateTimeZone('UTC') ) ); #=> DateTime echo Types::getClassOrType('string')); #=> string echo Types::getClassOrType(111)); #=> integer echo Types::getClassOrType(111.0)); #=> double echo Types::getClassOrType(true)); #=> boolean echo Types::getClassOrType(false)); #=> boolean
编码规范
PSR-1/2/5/12/19 是一个坚实的基础,但它们本身不是一种完整的编码风格。我们使用 PHP CS Fixer 和 PHP CodeSniffer 自动化大部分样式要求。(我们尚未自动化的内容已在 SimplePie NG 编码规范 中记录。)
这些可以通过运行(轻量级)检查器自动应用/修复
make lint
此外,在我们编写优秀代码的征程中,我们使用各种工具帮助我们捕捉我们编写的内容中的问题,包括
类型 | 描述 |
---|---|
检查工具 | PHP CS Fixer, PHP CodeSniffer |
质量保证工具 | PDepend, PHPLOC, PHP Copy/Paste Detector, PHP Code Analyzer |
静态分析 | Phan、PHPStan、Psalm、PHP 依赖分析 |
这些报告可以通过运行(重量级)分析器生成。
make analyze
请支持或赞助开发
SimplePie 项目是一个充满爱心的项目。SimplePie 下一代的发展始于 2017 年 6 月,因为这是我喜爱的一个项目,我相信我们的社区将从这个工具中受益。
如果您使用 SimplePie——尤其是用来赚钱——如果您能赞助一些费用那就太好了。随着项目的增长,我们开始利用更多的服务和架构,如果不需要全部从我的口袋里出来那就再好不过了。
您还可以赞助特定功能的开发。如果您希望看到某个功能被实现,并且我认为它非常适合 SimplePie 项目,您可以通过赞助该功能的开发来让它获得优先权。
您的大力支持和真诚赞助将得到极大的赞赏。请参阅页面顶部的 赞助 按钮,了解更多信息。