wol-soft/php-json-schema-model-generator-symfony-converter

为使用 wol-soft/php-json-schema-model-generator 库生成的模型提供 symfony 转换器

2.0.0 2020-11-17 11:04 UTC

This package is auto-updated.

Last update: 2024-09-18 19:23:42 UTC


README

Latest Version Minimum PHP Version Maintainability Test Coverage Build Status Coverage Status MIT License

php-json-schema-model-generator-symfony-converter

为使用 wol-soft/php-json-schema-model-generator 库生成的模型提供 symfony 转换器。

要求

  • 需要至少 PHP 7.2
  • 需要 PHP 扩展 ext-json
  • 需要 Symfony

安装

推荐通过 Composer 安装 php-json-schema-model-generator-symfony-converter

$ composer require wol-soft/php-json-schema-model-generator-symfony-converter

用法

要将使用 wol-soft/php-json-schema-model-generator 库生成的模型集成到 symfony 项目中,请确保已将 PHPModelGeneratorBundleSensioFrameworkExtraBundle 添加到您的包配置中(例如,config/bundles.php

<?php

return [
    Symfony\Bundle\FrameworkBundle\FrameworkBundle::class => ['all' => true],
    Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle::class => ['all' => true],
    PHPModelGenerator\Bundle\PHPModelGeneratorBundle::class => ['all' => true],
];

另外,请确保已启用转换器,例如,通过创建一个 config/packages/sensio_framework_extra.yaml 配置文件

sensio_framework_extra:
  request:
    converters: true
    auto_convert: true

现在,您只需在控制器操作中使用生成的模型即可。模型将通过利用请求体作为数据输入自动实例化。如果发送了无效的请求体并且验证失败,则将抛出异常。注册异常监听器并将异常转换为可行的响应。有关运行示例,您可以查看此库测试中的演示应用程序。它包括一个 JSON 模式(tests\App\Schema\person.json)、生成步骤(tests\bootstrap.php)、异常处理器(tests\App\Event\ExceptionListener.php)和利用生成的模型的控制(tests\App\Controller\PersonController)。

测试

该库通过 PHPUnit 进行测试。

通过 composer update 安装库的依赖项后,您可以使用 ./vendor/bin/phpunit(Linux)或 vendor\bin\phpunit.bat(Windows)执行测试。测试名称已针对 --testdox 输出进行了优化。