shipu / hackerrank-api
PHP和Laravel HackerRank代码检查API
v1.1
2018-03-28 10:46 UTC
Requires
- php: >=5.6
- guzzlehttp/guzzle: ^6.2
Requires (Dev)
- graham-campbell/testbench: ^3.3
- phpunit/phpunit: ^5.0
This package is auto-updated.
Last update: 2024-09-19 10:41:11 UTC
README
HackerRank代码检查API。一个极简单的REST API。支持超过一打语言。所有都由可靠的HackerRank服务器驱动。您可以使用自己的评分系统或构建自己的在线判题系统。
支持40多种编程语言。
安装
Themevel是一个Laravel包,因此您可以通过Composer安装它。从您的项目目录中运行以下命令
composer require shipu/hackerrank-api
稍等片刻,Composer将自动在您的项目中安装Themevel。
Laravel配置
下载完成后,您需要在config/app.php
配置文件中调用此包服务。为此,在app.php
的providers
数组中添加此行
Shipu\HackerRank\HackerRankServiceProvider::class,
要使用外观,您需要在app.php
的aliases
数组中添加此行
'HackerRank' => Shipu\HackerRank\Facades\HackerRank::class,
现在在您的终端中运行此命令以发布此包资源
php artisan vendor:publish --provider="Shipu\HackerRank\HackerRankServiceProvider"
发布您的配置文件后,打开config/hackerrank.php
并添加您的HackerRank应用密钥
return [ /* |-------------------------------------------------------------------------- | HackerRank API KEY |-------------------------------------------------------------------------- | | https://www.hackerrank.com/api/ | */ 'api_key' => env('HACKERRANK_API_KEY', 'YOUR_HACKER_RANK_API_KEY'), ];
您还可以在.env
中添加API密钥
HACKERRANK_API_KEY = YOUR_HACKER_RANK_API_KEY
就是这样。
API列表
- languages()
- submission($lang, $source, $testcases = [ "1" ], $format = 'json', $wait = true, $callback_url = '')
用法
use Shipu\HackerRank\HackerRank; $config = [ "api_key" => 'hackerrank_app_key', ]; $hackerRank = new HackerRank($config); $allLanguages = $hackerRank->checker()->languages(); var_dump($allLanguages->data);
对于Laravel用法
use Shipu\HackerRank\Facades\HackerRank; //.. //.. $allLanguages = HackerRank::checker()->languages(); dd($allLanguages->data);
代码提交
use Shipu\HackerRank\Facades\HackerRank; //.. //.. $response = HackerRank::checker()->submission('php', '<?php echo "It's Working"; ?>'); dd($response->data);
带测试用例的代码提交
use Shipu\HackerRank\Facades\HackerRank; //.. //.. // Problem is returns the sum of two integers. // Problem link: https://www.hackerrank.com/challenges/solve-me-first // Submit code with two tescase example. $response = HackerRank::checker()->submission('php', '<?php function solveMeFirst($a,$b){ return $a+$b; } $handle = fopen ("php://stdin","r"); $_a = fgets($handle); $_b = fgets($handle); $sum = solveMeFirst((int)$_a,(int)$_b); print ($sum); fclose($handle); ?>', ["1\n2", "2\n3"]); // output array respectively as test cases dd($response->data->result->stdout);
Beerpay支持
嘿兄弟!帮帮我几个🍻吧!