simplepie/utility-pack

一组用于PHP的小型实用工具。

2.2.0 2019-07-05 06:57 UTC

This package is auto-updated.

Last update: 2024-09-04 09:03:04 UTC


README


实用工具包

一组适用于PHP 7.2+的小型实用工具。

徽章

健康

Open Issues Pull Requests Contributors Repo Size GitHub Commit Activity GitHub Last Commit

质量

Travis branch Coveralls Code Quality Symfony Insight

社交

Author Follow Blog Stars

合规性

License

用法

查询字符串

信不信由你,不同的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 FixerPHP CodeSniffer来自动化大部分风格要求。(我们无法自动化的内容已在SimplePie NG编码规范中记录。)

这些可以通过运行(轻量级)检查器自动应用/修复

make lint

此外,为了编写优秀的代码,我们使用各种工具来帮助我们捕获我们编写的内容中的问题,包括

可以通过运行(重量级)分析器生成这些报告

make analyze

请支持或赞助开发

SimplePie项目是一项充满爱心的劳动。SimplePie下一代开发始于2017年6月,因为我热爱这个项目,我相信我们的社区将从这个工具中受益。

如果您使用SimplePie——尤其是用来赚钱——如果您能捐献一些钱,那就太好了。随着项目的发展,我们开始利用更多的服务和架构,如果不需要全部从我的口袋里出来,那就太好了。

您还可以赞助特定功能的开发。如果您希望看到某个功能被实现,并且我相信它适合SimplePie项目,您可以通过赞助该功能的开发来使其优先。

您的贡献受到极大的诚挚感谢。请参阅页面顶部的赞助按钮获取更多信息。