livecontrol/form 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

livecontrol/form

Composer 安装命令:

composer require livecontrol/form

包简介

Make form handling in Laravel simpler.

README 文档

README

not compatible with standalone laravel 5

The basic idea is simple: make form creation simpler.

View a quick visual demonstration.

I'm tired of creating form fields, like this:

<div class="form-group">
    {{  Form::label('username', 'Username:' ) }}
    {{ Form::text('username', null, ['class' => 'control-group']) }}
</div>

Instead, with this FormField class, you can simply do:

{{ FormField::username() }}

That will then produce the necessary (Bootstrap-friendly, by default) HTML. It uses dynamic methods to simplify the process a bit.

While it will do its best to figure out what kind of input you want, you can override it.

{{ FormField::yourBio(['type' => 'textarea']) }}

This will produce:

<div class='form-group'>
    <label for="yourBio">Your Bio: </label>
    <textarea class="form-control" type="textarea" name="yourBio" cols="50" rows="10" id="yourBio"></textarea>
</div>

So, yeah, it's just a helper class. If your forms require a huge amount of customization, this probably won't work for you. But for simple forms, it'll do the trick nicely!

(It also makes Laracasts demos way easier to setup. :)

Usage

To try this out:

Begin by installing the package through Composer.

require: {
    "livecontrol/form": "dev-master"
}

Next, add the service provider to app/config/app.php.

'providers' => [
    // ..
    'Way\Form\FormServiceProvider'
]

That's it! You're all set to go. Try it out in a view:

{{ FormField::username() }}
{{ FormField::email() }}
{{ FormField::custom(['type' => 'textarea']) }}
{{ FormField::address(['label' => 'Your Address']) }}

That will produce the following. Though it's Twitter Bootstrap friendly by default, you can of course customize the class names as you wish.

output

If you want to override the defaults, you can publish the config, like so:

php artisan config:publish way/form

Now, access app/config/packages/way/form/config.php to customize. Here's what it lists by default:

return [

    /*
     * What should each form element be
     * wrapped within?
    */
    'wrapper' => 'div',

    /*
     * What class should the wrapper
     * element receive?
    */
    'wrapperClass' => 'form-group',

    /**
     * Should form inputs receive a class name?
     */
    'inputClass' => 'form-control',

    /**
     * Frequent input names can map
     * to their respective input types.
     *
     * This way, you may do FormField::description()
     * and it'll know to automatically set it as a textarea.
     * Otherwise, do FormField::thing(['type' => 'textarea'])
     *
     */
    'commonInputsLookup'  => [
        'email' => 'email',
        'emailAddress' => 'email',

        'description' => 'textarea',
        'bio' => 'textarea',
        'body' => 'textarea',

        'password' => 'password',
        'password_confirmation' => 'password'
    ]
];

统计信息

  • 总下载量: 127
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 2
  • Forks: 24
  • 开发语言: PHP

其他信息

  • 授权协议: Unknown
  • 更新时间: 2015-05-28