xis / easy-forms-bundle
简单表单组件
Requires
- php: >=5.4
- sensio/framework-extra-bundle: ~3.0
This package is not auto-updated.
Last update: 2024-09-28 16:15:28 UTC
README
在 Symfony 控制器中轻松处理表单流程。
为什么?
- 使用非常薄的控制器
- 更容易使控制器单元测试
- 不要重复实现无聊的表单提交代码!
你只需要使用 @Form 类注解,例如
@Form("new_form",method="createCreateForm")
使用这个注解,你可以列出当前控制器中使用的所有表单。 method 属性指向创建该特定表单的方法。
现在,你可以使用 @FormStarter 注解标注启动表单流程的方法,以及使用 @FormAcceptor 注解标注接受表单提交的方法。
表单监听器将处理流程,它将在表单启动方法中创建表单并将其注入到模板参数中,因此你不需要手动处理。它还将处理接受者;绑定和验证表单。请注意,只有当表单有效时,才会执行表单接受者方法,因此你需要在表单接受者方法中做的唯一一件事就是持久化你刚刚创建/更新的实体。
如果表单提交失败,流程将停止在启动方法中 - 它将显示带有错误信息的绑定表单。
你也可以“装饰”失败表单的表单接受者行为。使用 rejector 属性指向一个方法,当表单提交失败时将被执行。这可能在你需要显示一些闪存消息或使用某些日志记录时很有用。
你可能想在表单接受者方法中访问表单。为此,使用 @FormAcceptor 注解的 param 属性,然后表单将作为表单接受者方法输入参数传递。
查看PostController 类以了解如何使用这些注解的示例。如果你想查看它是如何工作的,请查看使用此组件的示例 symfony-project。
请注意,你需要在表单启动控制器中使用 @Template 注解,因为表单监听器需要在视图渲染之前执行。
安装
只需将以下行添加到你的 composer.json 文件中的 "require" 部分
"xis/easy-forms-bundle": "~0.1"
别忘了更新 composer 依赖关系
composer.phar update
然后你需要更新你的 AppKernel.php 文件,并在 registerBundles 方法中添加以下条目以启用组件
new Xis\EasyFormsBundle\XisEasyFormsBundle(),
就这样。
MIT 许可证
该组件在 MIT 许可证下分发。