skyzyx/utility-pack

此包已被废弃且不再维护。作者建议使用 simplepie/utility-pack 包。

一组PHP的小工具。

2.0.0 2019-05-06 04:04 UTC

This package is auto-updated.

Last update: 2022-02-01 13:07:28 UTC


README

logo.png

Utility Pack

一组适用于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

此外,在我们编写优秀代码的征程中,我们使用各种工具帮助我们捕捉我们编写的内容中的问题,包括

类型 描述
检查工具 PHP CS Fixer, PHP CodeSniffer
质量保证工具 PDepend, PHPLOC, PHP Copy/Paste Detector, PHP Code Analyzer
静态分析 PhanPHPStanPsalmPHP 依赖分析

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

make analyze

请支持或赞助开发

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

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

您还可以赞助特定功能的开发。如果您希望看到某个功能被实现,并且我认为它非常适合 SimplePie 项目,您可以通过赞助该功能的开发来让它获得优先权。

您的大力支持和真诚赞助将得到极大的赞赏。请参阅页面顶部的 赞助 按钮,了解更多信息。