PHPackages                             srcker/helper - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. srcker/helper

ActiveLibrary

srcker/helper
=============

常用函数库

2.0.0(1y ago)1182↓100%Apache-2.0PHPPHP ^8.3

Since Oct 30Pushed 1y ago1 watchersCompare

[ Source](https://github.com/srcker/php-helper)[ Packagist](https://packagist.org/packages/srcker/helper)[ RSS](/packages/srcker-helper/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (9)DependenciesVersions (11)Used By (0)

srcker/helper
=============

[](#srckerhelper)

常用函数库

安装
==

[](#安装)

> composer require srcker/helper

```
use srcker/helper/Time; // 时间工具
use srcker/helper/Str; // 字符串工具
use srcker/helper/Validate; // 常用格式验证
use srcker/helper/Desensitize; // 数据脱敏
use srcker/helper/IdCard; // 身份证工具
```

使用
==

[](#使用)

时间工具
----

[](#时间工具)

```
use srcker\helper\Time;

// 测试今日的开始和结束时间戳
echo "今日开始时间戳: " . Time::today()[0] . "\n";
echo "今日结束时间戳: " . Time::today()[1] . "\n";
// 今日开始时间戳: 1695667200
// 今日结束时间戳: 1695753599

// 测试昨日的开始和结束时间戳
echo "昨日开始时间戳: " . Time::yesterday()[0] . "\n";
echo "昨日结束时间戳: " . Time::yesterday()[1] . "\n";
// 昨日开始时间戳: 1695580800
// 昨日结束时间戳: 1695667199

// 测试本周的开始和结束时间戳
echo "本周开始时间戳: " . Time::week()[0] . "\n";
echo "本周结束时间戳: " . Time::week()[1] . "\n";
// 本周开始时间戳: 1695235200
// 本周结束时间戳: 1695753599

// 测试上周的开始和结束时间戳
echo "上周开始时间戳: " . Time::lastWeek()[0] . "\n";
echo "上周结束时间戳: " . Time::lastWeek()[1] . "\n";
// 上周开始时间戳: 1694630400
// 上周结束时间戳: 1695235199

// 测试本月的开始和结束时间戳
echo "本月开始时间戳: " . Time::month()[0] . "\n";
echo "本月结束时间戳: " . Time::month()[1] . "\n";
// 本月开始时间戳: 1693526400
// 本月结束时间戳: 1696118399

// 测试上个月的开始和结束时间戳
echo "上个月开始时间戳: " . Time::lastMonth()[0] . "\n";
echo "上个月结束时间戳: " . Time::lastMonth()[1] . "\n";
// 上个月开始时间戳: 1690848000
// 上个月结束时间戳: 1693526399

// 测试今年的开始和结束时间戳
echo "今年开始时间戳: " . Time::year()[0] . "\n";
echo "今年结束时间戳: " . Time::year()[1] . "\n";
// 今年开始时间戳: 1672531200
// 今年结束时间戳: 1704067199

// 测试去年开始和结束的时间戳
echo "去年开始时间戳: " . Time::lastYear()[0] . "\n";
echo "去年结束时间戳: " . Time::lastYear()[1] . "\n";
// 去年开始时间戳: 1640995200
// 去年结束时间戳: 1672531199

// 测试几天前到现在的时间戳
echo "三天前零点时间戳到现在: " . Time::dayToNow(3)[0] . "\n";
echo "三天前到现在结束时间戳: " . Time::dayToNow(3)[1] . "\n";
// 三天前零点时间戳到现在: 1695408000
// 三天前到现在结束时间戳: 1695732590

// 测试几天前的时间戳
echo "五天前时间戳: " . Time::daysAgo(5) . "\n";
// 五天前时间戳: 1695402590

// 测试几天后的时间戳
echo "两天后时间戳: " . Time::daysAfter(2) . "\n";
// 两天后时间戳: 1695912590

// 测试友好时间显示
$time = time() - 3600; // 一小时前的时间戳
echo "友好时间显示: " . Time::friendlyDate($time) . "\n";
// 友好时间显示: 1小时前

// 测试获取当前毫秒
echo "当前毫秒: " . Time::msectime() . "\n";
// 当前毫秒: 1695732590612
```

字符串函数
-----

[](#字符串函数)

```
use srcker/helper/Str

/**
 * 随机生成字符串
 * @param int $length 长度
 * @param false $isNumber 是否为纯数字
 */
Str::random($length = 16,$isNumber = false)
```

数据脱敏
----

[](#数据脱敏)

```
use srcker/helper/Desensitize
// 测试示例

echo "中文姓名: " . Desensitize::name('张三丰');
// 预期输出: 张**

echo "身份证号: " . Desensitize::idCard('11010519491231002X');
// 预期输出: 110************02X

echo "座机号: " . Desensitize::custom('010-12345678', 4, 6);
// 预期输出: 0101******78

echo "手机号: " . Desensitize::mobile('13812345678');
// 预期输出: 138****5678

echo "地址: " . Desensitize::custom('北京市海淀区中关村', 3, 4);
// 预期输出: 北京市****

echo "电子邮件: " . Desensitize::email('example@example.com');
// 预期输出: e******e@example.com

echo "密码: " . Desensitize::password('mysecretpassword');
// 预期输出: *******

echo "普通车牌: " . Desensitize::carLicense('粤B12345');
// 预期输出: 粤B****5

echo "新能源车牌: " . Desensitize::carLicense('粤BD12345');
// 预期输出: 粤BD***45

echo "银行卡号: " . Desensitize::bankCard('6228481234567890123');
// 预期输出: 622848******90123
```

- 身份证工具类

```
use srcker\helper\IdCard;

// 测试身份证号码合法性
$idCardNumber = "11010519491231002X";

echo "身份证号: " . $idCardNumber . "\n";
echo "是否合法: " . (IdCard::isValid($idCardNumber) ? '合法' : '不合法') . "\n"; // 输出: 合法

// 测试获取生日
echo "生日: " . IdCard::getBirthday($idCardNumber) . "\n"; // 输出: 1949-12-31

// 测试获取年龄
echo "年龄: " . IdCard::getAge($idCardNumber) . "\n"; // 输出: 根据当前日期计算出的年龄

// 测试获取出生年份
echo "出生年份: " . IdCard::getYear($idCardNumber) . "\n"; // 输出: 1949

// 测试获取出生月份
echo "出生月份: " . IdCard::getMonth($idCardNumber) . "\n"; // 输出: 12

// 测试获取出生日期的天
echo "出生日期的天: " . IdCard::getDay($idCardNumber) . "\n"; // 输出: 31

// 测试获取性别
echo "性别: " . (IdCard::getGender($idCardNumber) == 1 ? '男' : '女') . "\n"; // 输出: 男

// 测试获取地区码
echo "地区码: " . IdCard::getArea($idCardNumber) . "\n"; // 输出: 110105
```

###  Health Score

39

—

LowBetter than 85% of packages

Maintenance46

Moderate activity, may be stable

Popularity13

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity75

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~175 days

Recently: every ~265 days

Total

10

Last Release

438d ago

Major Versions

1.2.1 → 2.0.02025-02-25

### Community

Maintainers

![](https://www.gravatar.com/avatar/6daffb3b186092853fbaac1cfa27a85f58399088f9b8e381626ac43c100bc280?d=identicon)[Sinda](/maintainers/Sinda)

---

Top Contributors

[![srcker](https://avatars.githubusercontent.com/u/6512197?v=4)](https://github.com/srcker "srcker (15 commits)")

### Embed Badge

![Health badge](/badges/srcker-helper/health.svg)

```
[![Health](https://phpackages.com/badges/srcker-helper/health.svg)](https://phpackages.com/packages/srcker-helper)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
