simplonlua / lua-calculator-bundle
允许使用LUA语言从JSON中进行计算。
dev-master
2019-06-27 17:59 UTC
Requires
- php: ^7.1.3
- opis/json-schema: ^1.0
This package is not auto-updated.
Last update: 2024-09-27 19:20:16 UTC
README

simplonlua捆绑包包含一个验证器函数,该函数返回给定批次中收到的某项补贴的金额。
此函数接受三个输入参数
- 一个字符串,格式为JSON,包含与批次相关的数据。(请参阅捆绑包serializer以将实体数据转换为JSON数据)
- JSON Schema (.json)文件的路径,用于检查数据结构是否正确。
- 要用于计算此补贴的Lua公式的名称(存在于Subsidy表中)(建设中)
1 - composer require simplonlua/lua-calculator-bundle
2 - 在App根目录下创建一个文件夹,该文件夹将包含jsonSchema.json文件。此文件包含您的客户数据的预期结构(JSON)。
3 - 在您的src/controller目录中创建一个控制器。
4- 在控制器中,定义包含JSON Schema的文件夹的路径。
$webPath = $this->get('kernel')->getProjectDir() . '/votrenomdedossier/';
$jsonSchema = realpath($webPath . 'votrenomdefichierschema.json');
5- 访问服务
$validJson = $this->container->get('lua.verificator')->verificator($jsonContent, $jsonSchema);
if ($validJson === true) {
// $test = 'ok';
} else {
}
return $this->render('validator/index.html.twig', [
'test' => $test,
]);
BONUS:为了方便地从现有实体生成JSON字符串,您可以使用serializer捆绑包。
例子
$encoder = [new JsonEncoder()];
$normalizer = [new ObjectNormalizer()];
$serializer = new Serializer($normalizer, $encoder);
$owner = $this->getDoctrine()->getRepository(Owner::class)
->findAll();
$jsonContent = $serializer->serialize($owner, 'json');