gupalo / symfony-form-transformers
Symfony 表单转换器
1.3.0
2024-02-21 16:44 UTC
Requires
- php: >=8.1
- symfony/form: ^6.1|^7.0
- symfony/yaml: ^6.1|^7.0
Requires (Dev)
- phpspec/prophecy-phpunit: ^2.0
- phpunit/phpunit: ^10.5
README
Symfony Forms TsvTransformer
如何安装
使用 composer 安装 gupalo/symfony-form-transformers 包
composer require gupalo/symfony-form-transformers
转换器
EmptyStringTransformer
:允许用户传递应作为空字符串的空字段而不是nullJsonYamlTransformer
:用户以YAML的形式查看和编辑字段,但在数据库中存储为JSON,在PHP中为数组StringArrayTransformer
:用户可以逐行输入多个字符串,它们将成为一个数组TsvTransformer
:用户从电子表格复制粘贴,PHP将获得具有命名键的数组(不支持多行和引号)
基本用法
将转换器添加到您的表单
class YourEntity { private ?array $data = []; } /// class YourEntityType extends AbstractType { public function __construct(private JsonYamlTransformer $jsonYamlTransformer) { $this->jsonYamlTransformer = $jsonYamlTransformer; } public function buildForm(FormBuilderInterface $builder, array $options): void { $builder // ... ->add('data', TextareaType::class); $builder->get('data')->addModelTransformer($this->jsonYamlTransformer); }
高级用法
某些转换器在构造时具有选项。选项是公共属性,您可以在以后更改它们。
查看 tests
获取更多示例。还可以查看 src
- 逻辑相当简单。
如果您有多行输入Tsv,请设置 TsvHelper::$multiline = true;