lubart / form
帮助构建具有任意数量元素的标准化表单,指定它们的值、标签或特定参数
Requires
- laravel/framework: ^5.1|^6.0|^7.0|^8.0
- laravelcollective/html: ^5.1|^6.0
This package is auto-updated.
Last update: 2024-09-23 02:02:54 UTC
README
该包有助于为Web表单构建面向对象的结构。它从控制器侧提供了更多对表单数据的控制,并使视图blade文件更加整洁和易于阅读。在包内部可以创建不同类型的Web表单元素,开发者可以完全控制每个元素,并可以指定标签、名称、值、类以及其他任何自定义参数。此外,表单元素可以组合在组中,对该块有完全控制。
安装
此包是私有的,仅存储在内部服务器上。要访问此服务器,您应该将以下块添加到您的composer.json文件中
"repositories": [{
"type": "composer",
"url": "https://packages.home"
}]
要安装包,您可以从终端运行以下命令
composer require lubart/form
Composer将要求登录名和密码以在https://packages.home服务器上进行授权。
如果您正在使用Laravel v5.5或更高版本,则包将自动识别,无需采取任何操作;对于Laravel版本v5.1 - v5.4,应在config/app.php文件的providers部分中额外注册包
... 'provider' => [ ... \Lubart\Form\FormServiceProvider::class, ... ] ...
使用
安装后,可以在任何类中创建新的表单,如下所示
// IndexController.php use Lubart\Form\Form; use Lubart\Form\FormElement; use Lubart\Form\FormGroup; ... public functoin form(){ $form = new Form(); $form->add(FormElement::text(['name'=>'login', 'label'=>'Login'])); // or alternatively $passwordElement = FormElement::password(['name'=>'password']); $passwordElement->setLabel('Password') ->obligatory(); $form->add($passwordElement); return view('form')->with(['form'=>$form]); }
然后在视图文件中
{!! $form->render() !!}
视图定制
该包基于laravelcollective/html包生成表单元素,但可以从包中发布视图文件进行自定义,以使用任何其他Web表单模板或纯HTML。要从终端发布包源代码
php artisan vendor:publish --tag=lubart-form-view
这会将所有视图文件发布到/resources/views/lubart-form目录。要使用自定义视图文件集,请更改表单视图环境
$form = new Form(); $form->setView('partial.form');
在此示例中,主表单blade文件应在resources/views/partial/form.blade.php中找到
样式发布
可以从包中发布包样式,如下所示
php artisan vendor:publish --tag=lubart-form-style
这会将编译后的lubart-form_styles.css CSS文件发布到/public/css目录,并将SASS项目发布到/resources/sass/lubart-form目录。