macfja / chain-select
dev-master
2018-04-05 15:25 UTC
Requires
- php: 7.*
Requires (Dev)
- edgedesign/phpqa: ^1.18
- infection/infection: ^0.8.1
- jakub-onderka/php-console-highlighter: ^0.3.2
- jakub-onderka/php-parallel-lint: ^1.0
- macfja/phpqa-extensions: ^0.1
- phpstan/phpstan: ^0.9.2
- phpunit/phpunit: ^6.5
- povils/phpmnd: ^2.0
- rskuipers/php-assumptions: ^0.7.0
- vimeo/psalm: ^1.0
This package is auto-updated.
Last update: 2024-09-17 02:12:04 UTC
README
找到最佳选项
安装
安装此库的最佳方式是使用Composer。
$ composer require macfja/chain-select
用法
$runner = new Runner(); $runner->setMinAcceptableScore(0.75); $runner->addHandler(new MyCustomHandler()); $runner->addHandler(new MyOtherHandler()); $runner->setContext($myContext); $runner->getFirstAcceptable();
示例
使用文本语料库的简单示例
$existingKeywords = [/* your code here*/]; $runner = CorpusHandlerHelper::addCorpus(new Runner(), $existingKeywords); $runner->setContext($userInput); $result = $runner->getBestMatch(); if ($result->getScore() === 1.0) { // your code here. Example: //$page->addKeyword($result->getResult()); } else { // your code here. Example: //echo 'Did you mean "'.$result->getResult().'"?'; }
更复杂的示例
$runner = new Runner(); $runner->setMinAcceptableScore(0.75); $runner->addHandler(new class implements HandlerInterface { public function execute($context) { // Some external request that return a score/confidence value $percent = doSomethingAwesome($context); return new HandlerResult($percent/100, $percent, $context, $this); } public function accept($context) { return true; } }); $runner->addHandler(new class implements HandlerInterface { public function execute($context) { // Some voodoo calculation with the context $noteOnTen = myHardWorkCalculation($context); return new HandlerResult($percent/10, $noteOnTen, $context, $this); } public function accept($context) { return true; } }); $runner->setContext($myContext); $result = $runner->getFirstAcceptable(); var_dump($result);
贡献
如果您发现此库的bug或想提出改进意见,欢迎创建新问题。
您也可以创建Pull Request。
代码质量
代码遵循PSR-1、PSR-2、PSR-4。
代码使用以下工具进行验证/监控
Php LOC, Php CPD, PhpCS, Pdepend, PHPMD, PhpMetrics, Parallel-Lint, PhpAssumption, PhpMagicNumberDetector, PhpStan, Psalm, PhpUnit, Infection
您可以使用以下命令运行完整的测试套件
$ composer tests