jeyroik / extas-grades
该包最新版本(0.2.0)没有可用的许可信息。
提供评分逻辑
0.2.0
2020-10-02 13:15 UTC
Requires
Requires (Dev)
This package is auto-updated.
Last update: 2024-09-29 06:25:39 UTC
README
描述
此包允许组织计算任何复合参数 - 评分。
评分是基于某些系数计算出的参数。系数是基于简单加法项计算出的参数。不建议基于其他系数计算系数 - 这时应该使用评分。加法项是一个简单参数,它要么具有静态值,要么在不需要其他加法项、系数或评分的情况下进行计算。
这三个实体具有统一的接口,这使得它们可以以任何方便的方式组织。
安装
该包提供了一些默认插件来启动术语(加法项)、系数和评分的计算。
要安装这些插件,需要导入
extas.json
{
"import": {
"from": {
"extas/grades": {
"plugins": "*"
}
},
"parameters": {
"on_miss_package": {
"name": "on_miss_package",
"value": "continue"
},
"on_miss_section": {
"name": "on_miss_section",
"value": "throw"
}
}
}
}
初始化和安装 extas
# vendor/bin/extas init # vendor/bin/extas install
运行测试
# composer test
使用
- 创建(或安装)术语(加法项)。1.1. 创建(或安装)术语计算器。
- 创建(或安装)系数。2.1. 创建(或安装)系数计算器。
- 创建(或安装)评分(评分)。3.1. 创建(或安装)评分计算器。
# php -S 0.0.0.0:8080 -t vendor/jeyroik/extas-api/public# curl localhost:8080/api/jsonrpc -d '{"method":"grade.calculate", "params": {"names":["grade1"], "tag":"some.tag"}}'
执行请求后,将执行评分 grade1 的计算。
响应将大致如下
{
"id": "<request.id>",
"jsonrpc": "2.0",
"result": {
"grades": {
"grade1": {
"<grade.name>": "<grade.value>"
}
}
}
}
与标准插件一起使用
标准插件基于术语的标签,具体如下
grade.term.*,grade.term.<grade>- 术语(加法项)的标签。grade.coefficient.*,grade.coefficient.<grade>- 系数的标签。grade.self.*,grade.self.<grade>- 评分(评分)的标签。
根据这些信息,按照上述说明执行步骤。
使用通配符
"默认插件" 提供了使用通用通配符 * 作为标签的功能。
这个细节允许在需要的情况下将任何加法项和系数的值“偷偷”带入响应中。
假设有一个名为 term1 的术语,其值为 public 并且具有标签 *。
在上面的请求的响应中,它可以在评分数据中看到
{
"id": "<request.id>",
"jsonrpc": "2.0",
"result": {
"grades": {
"grade1": {
"<grade.name>": "<grade.value>",
"term1": "public"
}
}
}
}