saeven / zf2-form-builder
针对Laminas的懒人工具包,因为我讨厌编写控制器、表单、输入过滤器以及它们的工厂,你也会讨厌编写这些东西。
1.0.1
2021-05-10 15:43 UTC
Requires
- php: ^7.4 || >=8
- laminas/laminas-cli: 1.0.2
- laminas/laminas-config: *
- laminas/laminas-config-aggregator: *
- laminas/laminas-form: *
- laminas/laminas-servicemanager: *
Requires (Dev)
- phpunit/phpunit: ^9.4.2
README
好吧,让我们直面现实。使用Laminas连接表单需要时间。我确实喜欢Zend Framework和Laminas,但表单的味道就像你冰激凌桶底部的纸板。我创建了这个表单助手来带来一丝快乐。有了这个助手,我的composer.json中的表单以及你自己的表单都会不那么糟糕。
此外,它还可以编写控制器。
然后,它会在你的PHPStorm(或其他编辑器)中打开它们。
这是一个CLI工具,非常轻量,使用简单。
powertool-building-forms.mov
安装
composer require --dev saeven/zf2-form-builder
然后,将其添加到你的application.config.php(laminas-mvc)中,使用Circlical\LaminasTools
。
使用方法
表单
假设你想要在Bar模块中创建FooForm、FooFormFactory、FooInputFilter和FooInputFilterFactory,并在Bar模块的form_elements和input_filters配置键中连接它们。
编写这一切是多么繁琐!
不过,这个工具将所有这些变成了一行代码。
vendor/bin/laminas ct:form
回答问题,然后你就可以开始了。
控制器
它还可以编写控制器。
vendor/bin/laminas ct:controller
成功实现98%的懒人模式
你所要做的,就是像这样将配置文件拖入你的module.config.php中
'form_elements' => require forms.config.php,
'input_filters' => require inputfilters.config.php,
这算是服务吗?你可以放松一下,调整你的番茄计时器,以最大程度的放松赚取相同的时薪。
这个工具为我节省了大量时间,但请随时提出改进建议!我也接受饼干食谱。
一些注意事项
- 假设你正在按照module/Foo/src/Controller的方式构建模块
- 我本可以深入挖掘并创建一些不错的抽象,但我没有。
- 目前还没有足够关心去编写测试。这个版本是快速敲出来的,因为我想为另一个项目使用它,该项目有大量表单和控制器需要处理。