mrself/ya-form

在 Laravel 中轻松生成 HTML 表单

1.0.5 2015-12-06 06:18 UTC

This package is auto-updated.

Last update: 2024-09-08 07:07:14 UTC


README

你需要这个包的原因是什么?

如何创建表单?比如说你有一个文章资源,并想要实现创建/编辑文章的功能。你首先该做什么?我可以假设你需要在 create 视图中创建完整的表单标记,同时还需要为 edit 视图创建相同的表单标记。即使只有5个字段,创建这些内容也需要花费很多时间。但是,我发现了一种更简单的方法来做这件事。你以数组格式定义你需要哪些字段,初始化包。当你需要显示你的字段时,你写下:$form->render();。就这么简单。你就有你需要的所有字段。

它如何工作

这更有趣。所需数据的格式是字段数组,格式如下

[
    'name' => 'article_title',
    'type' => 'text',
    'label' => 'Title of the article'
]

最终你将得到

<div class="form-group">
	<label for="formName-article_title">
		Title of the article
	</label>
    <input class="form-control" id="formName-article_title" type="text" name="article_title" value="">
</div>

关键是,你为每种类型的字段(textarea、select)有模板。该包遍历字段数组,为每个字段渲染视图。结果是具有字段行的 HTML。你可以更改行和字段的视图文件。

如何安装

通过 composer 安装

composer require mrself/ya-form

'Mrself\YaF\YaFormServiceProvider' 添加到 config/app.php 中的服务提供者。如果你想重写视图文件,运行 php artisan vendor:publish --provider="Mrself\YaF\YaFormServiceProvider"

如何使用

首先,创建实例

    $form = \App::make('YaF');

然后初始化

    $form->init($seedData, $fields, $args);

$seedData 是表单字段的值的数组。键是字段的名称,数组的值是字段的值。$fields 是主要字段数据的数组

    [
        'name' => 'article_title',
        'type' => 'text',
        'label' => 'Title of the article'
    ]

$args 是字段的参数数组。键是字段的名称,值是字段的参数。

在你的视图中,你可以简单地写下:{!! $form->render() !!},这将输出所有字段。请注意,这不会包括表单的打开和关闭标签。