stephpy / timeline
此包已 弃用 并不再维护。未建议替代包。
创建时间线的独立库
v1.2.0
2019-06-20 07:33 UTC
Requires
- php: >=5.6.0
- doctrine/common: ~2.2
- symfony/options-resolver: *
Requires (Dev)
- atoum/atoum: dev-master
- knplabs/knp-components: 1.*
- pimple/pimple: *
- symfony/event-dispatcher: 2.*
Suggests
- ext-redis: Redis C extension for PHP
- knplabs/knp-components: Knp Paginator
- pimple/pimple: Use ServiceLocator
- predis/predis: Redis PHP client library
This package is auto-updated.
Last update: 2024-01-20 17:23:28 UTC
README
使用 PHP 创建时间线的独立库。
目前,只有一种驱动器 redis,使用 Symfony2 和 Bundle 来使用其他驱动器。
描述
时间线是一系列动作的集合,可以用以下方式表示:
- 主语
- 谓语
- 补语(直接补语,间接补语等...)
示例
主语 | 谓语 | 补语 |
---|---|---|
Chuck Norris | 拥有 | 世界(直接补语),与 Vic Mc Key(间接补语) |
Sheldon | 说 | Bazinga(直接补语) |
可以检索两种类型的动作列表:
时间线
涉及主语的动作流 + 所有其 扩散 动作,请参阅 spread.rst
主语动作
主语执行的所有动作。
上下文
想象 Chuck Norris 有 233 个朋友和关注 20 家公司。
如果我们有一个上下文,比如 facebook,他的墙会返回他朋友和公司的每个动作。
您还可以使用 上下文 来筛选时间线,例如,我们可以有 3 个上下文
- 全局:他朋友和公司的动作
- 朋友:他朋友的动作
- 公司:他公司的动作
您可以定义尽可能多的上下文。如果您只有一个上下文,您将获得每个动作,但无法轻松筛选它们以仅返回“拥有”动作或仅获取 ChuckNorris 朋友的动作
这就是为什么我们有一个“全局”上下文,并且您可以轻松添加其他上下文。
安装
使用 Composer 安装: stephpy/timeline
。
在您的 composer.json 中,您应该有
{ "require": { "stephpy/timeline": "~1.0.0", "pimple/pimple": "*" } }
Pimple 不是必需的,但如果您不使用 bundle 使用此库,将会更容易。
要求
时间线使用 php >=5.3.2。
文档
单元测试
您可以使用以下命令运行测试
bin/atoum -d tests/units