simplonlua / lua-calculator-bundle

允许使用LUA语言从JSON中进行计算。

安装: 35

依赖关系: 0

建议: 0

安全性: 0

星星: 0

分叉: 0

类型:symfony-bundle

dev-master 2019-06-27 17:59 UTC

This package is not auto-updated.

Last update: 2024-09-27 19:20:16 UTC


README

alt

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');