jue / rank
此包最新版本(v1.0.0.3)没有可用的许可证信息。
这是php排名组件
v1.0.0.3
2017-04-02 12:13 UTC
Requires
- nesbot/carbon: ^1.21
This package is not auto-updated.
Last update: 2024-09-29 01:53:17 UTC
README
一个基于php开发的排名组件(php排名)
Jrank正式发布了,它为你提供排名功能所需的要素,文档完善,功能齐全,低耦合,通过composer引入,支持二次开发。
如果公司需要做排名活动,统计排名等与排名相关的事情,就交给JRank
吧。
提供
- CounterRank 基础完备的排名功能 | 函数排名
- DateRank 时间维度排名功能 | 日期排名
- MutliRank 多排名交并功能 | 排名并集
- PagerRank 分页排名功能 | 分页排名
当前稳定版本为1.0.0.3版本
版本迭代:
v1.0.0.3
- 更新
carbon
包
v1.0.0.2
- 提供分页排名功能
- 完善文档
v1.0.0.1
- 提供多排名交并功能
- 重构代码
v1.0.0.0
- 提供时间维度排名功能
- 修复遗留bug
安装 | 安装
composer require jue/rank
例子 | 示例
CounterRank : 测试示例
DateRank: 测试示例
MutliRank:测试示例
PagerRank:测试示例
CounterRank
所有其他排名组件都基于CounterRank, Counter提供最完备的排名功能,任何Cache只要实现IRedis
的方法即可使用CounterRank, 默认使用\Redis
.
实例
$rank = new CounterRank($redis,'activity','test');//新建一个counterRank
getRankKey :获取当前rank使用的key值 ☺️
var_dump($rank->getRankKey()); //结果: activity:test
addRankField : 给rank添加一个field(类似于我给排名加一个游戏玩家的id和他拿了多少分):smirk
$rank->addRankField(1, 2);
getRankScore: 获取想要的field的score(类似于我想知道某个游戏玩家的分数):kissing_closed_eyes
var_dump($rank->getRankScore(1)); //结果: 2
CounterRank的详细介绍和使用哦(博客路径,可以留言吐槽)
CounterRank的详细介绍和使用哦,(gitHub路径)
DateRank
实例(以下例子使用的都是Carbon库来处理时间)
$rank = new DateRank($redis,'activity','test', Carbon::now());
getRankKey:获取当前rank使用的key值 ☺️
var_dump("rankKey:".$rank->getRankKey()); //结果: activity:test:2017-03-31
DateRank的详细介绍和使用哦(博客路径,可以留言吐槽)
DateRank的详细介绍和使用哦,(gitHub路径)
MutliRank
实例(以下例子使用的都是Carbon库来处理时间)
$rank1 = new DateRank($redis,'activity','test', Carbon::now()); $rank2 = new DateRank($redis,'activity','test', Carbon::tomorrow()); $rank1->addRankField(1,2); $rank1->addRankField(2,4); $rank2->addRankField(1,2); $mutliRank = new MutliCounterRank([$rank1,$rank2], $redis);
MutliRank的详细介绍和使用哦(博客路径,可以留言吐槽)
MutliRank的详细介绍和使用哦,(gitHub路径)
PagerRank
实例(以下例子使用的都是Carbon库来处理时间)
$rank = new CounterRank($redis, 'activity', 'pager'); $rank->batchAddRankField([ 1 => 2, 2 => 4, 3 => 3, 4 => 20, 5 => 7, 6 => 13, 7 => 10, 8 => 13, 9 => 9 ]); $pager = new PagerRank($rank,5,2);