simplepie / utility-pack
一组用于PHP的小型实用工具。
2.2.0
2019-07-05 06:57 UTC
Requires
- php: >=7.2
- psr/http-message: ^1.0
- psr/log: ^1.1
Requires (Dev)
- bramus/monolog-colored-line-formatter: ^3.0
- friendsofphp/php-cs-fixer: ^2.14
- mamuz/php-dependency-analysis: dev-master
- monolog/monolog: ^1.24
- pdepend/pdepend: ^2.5
- pepakriz/phpstan-exception-rules: ^0.8.2
- phan/phan: ^2.1
- php-coveralls/php-coveralls: ^2.0
- phploc/phploc: ^5.0
- phpmetrics/phpmetrics: ^2.4
- phpstan/phpstan: ^0.11.8
- phpstan/phpstan-deprecation-rules: ^0.11.2
- phpstan/phpstan-strict-rules: ^0.11.1
- phpunit/phpunit: ^8.1
- sebastian/phpcpd: ^4.0
- slim/slim: ^3.8
- squizlabs/php_codesniffer: dev-master
- thecodingmachine/phpstan-strict-rules: ^0.11.2
- vimeo/psalm: ^3.4
- wapmorgan/php-code-analyzer: ^1.0
Suggests
- bramus/monolog-colored-line-formatter: Color-codes your Monolog messages by severity.
- monolog/monolog: A high-quality PSR-3 logging library.
README

实用工具包
一组适用于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
此外,为了编写优秀的代码,我们使用各种工具来帮助我们捕获我们编写的内容中的问题,包括
可以通过运行(重量级)分析器生成这些报告
make analyze
请支持或赞助开发
SimplePie项目是一项充满爱心的劳动。SimplePie下一代开发始于2017年6月,因为我热爱这个项目,我相信我们的社区将从这个工具中受益。
如果您使用SimplePie——尤其是用来赚钱——如果您能捐献一些钱,那就太好了。随着项目的发展,我们开始利用更多的服务和架构,如果不需要全部从我的口袋里出来,那就太好了。
您还可以赞助特定功能的开发。如果您希望看到某个功能被实现,并且我相信它适合SimplePie项目,您可以通过赞助该功能的开发来使其优先。
您的贡献受到极大的诚挚感谢。请参阅页面顶部的赞助按钮获取更多信息。