chilldev / spintax
Spintax {解析|处理}库。
此包的官方仓库似乎已消失,因此已冻结该包。
0.0.1
2014-01-24 21:29 UTC
Requires
- php: >=5.4
Requires (Dev)
- ext-xsl: *
- phpmd/phpmd: 1.5.0
- phpunit/phpunit: 3.7.29
- satooshi/php-coveralls: 0.6.1
- sebastian/phpcpd: 2.0.0
- squizlabs/php_codesniffer: 1.5.1
This package is not auto-updated.
Last update: 2019-03-08 17:32:21 UTC
README
ChillDevSpintax 是一个库,它提供了在 Symfony2 DI 中常用的一些模式实现。
安装
此库作为Composer包提供。要安装它,只需将以下依赖定义添加到您的 composer.json
文件中
"chilldev/spintax": "dev-master"
如果您想使用特定版本,可以将 dev-master
替换为不同的约束。
注意: 此库需要 PHP 5.4。
使用方法
最简单的使用方法是将 spintax 字符串解析并生成它的随机变体,这通常能满足您的需求
use ChillDev\Spintax\Parser; $spintax = Parser::parse('Schrödinger’s Cat is {dead|alive}.'); $string = $spintax->generate();
但我们的库中还有更多功能。首先,它支持嵌套结构
use ChillDev\Spintax\Parser; $spintax = Parser::parse('I {love {PHP|Java|C|C++|JavaScript|Python}|hate Ruby}.'); $string = $spintax->generate();
还没有结束!使用我们出色的库,您可以检测用于生成给定变体的路径,并在以后重用它
use ChillDev\Spintax\Parser; $path = []; $spintax = Parser::parse('I {love {PHP|Java|C|C++|JavaScript|Python}|hate Ruby}.'); // since $path is empty, random values will be used for missing indices and $path will be filled with them $string = $spintax->generate($path); // from now you can use $path to re-create the same combination // all these calls will keep returning same string value $spintax->generate($path); $spintax->generate($path); $spintax->generate($path); $spintax->generate($path); // this will force generating "I love Java." $path = [0, 1]; $spintax->generate($path);
路径从 0 开始计数,每个条目代表下一步。
您还可以使用部分路径来定义仅起始路径,所有缺失部分将随机选择
use ChillDev\Spintax\Parser; $path = [0]; $spintax = Parser::parse('I {love {PHP|Java|C|C++|JavaScript|Python}|hate Ruby}.'); // this will generate one of "I love {}." variants $string = $spintax->generate($path);
为此,有一个快捷方法 Parser::replicate()
(您可以在该快捷方法的第二个参数中使用以逗号分隔的数字作为单个字符串
use ChillDev\Spintax\Parser; echo Parser::replicate('I {love {PHP|Java|C|C++|JavaScript|Python}|hate Ruby}.', '0,0');
资源
- 源代码文档
- 带有API文档的GitHub页面
- 问题跟踪器
- Packagist包
- Chillout Development @ GitHub
- Chillout Development @ Facebook
- 在Wrzasq.pl上的帖子
贡献
您想帮助改进此项目吗?只需 fork 它并提交一个pull request。您可以自己完成所有工作,无需询问是否可以,只需做所有想做的事情!
此项目在 MIT许可证 下发布。
作者
ChillDevSpintax 由 Chillout Development 提供。
贡献者列表