drupol / yaroc
YAROC: 另一个Random.Org客户端。
Requires
- php: >= 7.4
- ext-json: *
- symfony/http-client-contracts: ^2
Requires (Dev)
- drupol/php-conventions: ^3
- friends-of-phpspec/phpspec-code-coverage: ^6.1
- infection/infection: ^0.21
- infection/phpspec-adapter: ^0.1.2
- ircmaxell/random-lib: ^1.2
- phpspec/phpspec: ^7
- rych/random: ^0.1.0
- symfony/http-client: ^4.4 || ^5.2
- vimeo/psalm: ^4.7
This package is auto-updated.
Last update: 2024-09-08 07:47:45 UTC
README
YAROC
另一个Random.Org客户端。
这个库的大部分类都是无状态的且不可变的。
要求
- PHP >= 7.4
- 一个HTTP客户端(见symfony/http-client)
安装
composer require drupol/yaroc
YAROC需要一个HTTP客户端才能工作,可以
composer require symfony/http-client
或提供一个。
使用方法
首先请求一个API密钥或使用临时密钥。
示例中使用的临时API密钥将在测试版结束时被禁用。
您可以从Random.org调用文档中描述的任何API方法。
目前支持Random.org的基本和签名API中的所有API方法调用。
示例
<?php require 'vendor/autoload.php'; use drupol\Yaroc\Plugin\Provider; use drupol\Yaroc\RandomOrgAPI; $generateIntegers = (new Provider())->withResource('generateIntegers') ->withParameters(['n' => 10, 'min' => 0, 'max' => 100]); $result = (new RandomOrgAPI()) ->withApiKey('00000000-0000-0000-0000-000000000000') ->getData($generateIntegers); print_r($result); $provider = (new Provider())->withResource('generateStrings') ->withParameters([ 'n' => 10, 'length' => 15, 'characters' => implode(array_merge(range('A', 'Z'), range('a', 'z'), range(0, 9))), ]); $result = (new RandomOrgAPI(null, ['apiKey' => '00000000-0000-0000-0000-000000000000']))->getData($provider); print_r($result);
可以通过使用环境变量RANDOM_ORG_APIKEY
或通过在RandomOrgAPI
构造函数中正确使用方法参数,或者通过使用(new RandomOrgAPI())->withApiKey(string $apiKey)
来提供API密钥。
第三方库集成
ircmaxell/RandomLib集成
YAROC为ircmaxell/RandomLib提供了一个源。
<?php require 'vendor/autoload.php'; use drupol\Yaroc\RandomOrgAPI; use drupol\Yaroc\Plugin\RandomLib\Source\RandomOrg; $randomOrgApi = new RandomOrgAPI(); $randomLib = new RandomLib\Factory(); $generator = $randomLib->getGenerator(new SecurityLib\Strength(SecurityLib\Strength::HIGH)) ->addSource(new RandomOrg($randomOrgApi)); $randomString = $generator->generateString(10); echo $randomString;
rchouinard/rych-random集成
YAROC为rchouinard/rych-random提供了一个生成器。
<?php require 'vendor/autoload.php'; use drupol\Yaroc\RandomOrgAPI; use drupol\Yaroc\Plugin\RychRandom\Generator\RandomOrg; $randomOrgApi = new RandomOrgAPI(); $rychRandom = new Rych\Random\Random(new RandomOrg($randomOrgApi)); $randomString = $rychRandom->getRandomString(8); echo $randomString;
历史
我在2016年11月22日偶然发现了Random.Org,我觉得这个想法非常棒。
我有了建立一个库的想法,这个库将遵循最佳的开发实践,并且是最新版本的。
请随时通过pol.dellaiera@protonmail.com联系我。
代码质量、测试和基准
要运行测试,请运行此命令
RANDOM_ORG_APIKEY=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx composer grumphp
每当向库中引入更改时,Travis CI都会运行测试和基准测试。
该库使用PHPSpec编写了测试。请随时在spec
目录中查看它们。运行composer phpspec
以触发测试。
在每次提交之前,使用GrumPHP执行一些检查,运行./vendor/bin/grumphp run
以手动检查。
使用PHPInfection确保您的代码经过适当的测试,运行composer infection
以测试您的代码。
贡献
欢迎通过发送Github pull请求来贡献。我非常积极回应哦 :-)
如果您不能为代码做出贡献,您也可以在Github或Paypal上赞助我。
变更日志
请参阅CHANGELOG.md以查看基于git提交的变更日志。