【问题标题】:How to customize Laravel Form class?如何自定义 Laravel 表单类?
【发布时间】:2013-06-12 01:10:09
【问题描述】:

有没有办法自定义 Laravel 的任何核心类,特别是 Form 类?我正在寻找自定义 Form::text()Form::textarea() 以便它包含一些我总是在我的领域中使用的默认类。

我以前在 CI 中经常这样做,我想知道 Laravel 是否也允许这样做。

【问题讨论】:

    标签: forms laravel


    【解决方案1】:

    你可以使用 Laravel 内置的表单宏。

    http://laravel.com/docs/html#custom-macros

    例如。

    Form::macro('customField', function()
    {
      return '<input type="text" class="macro-some-class">';
    });
    

    并调用宏

    echo Form::customField();
    

    {{Form::customField()}}
    

    【讨论】:

    • Form::macro() 看起来正是我所需要的。但是为了世界和平,难道没有办法扩展核心 Laravel 类来满足我们的特定需求吗?
    【解决方案2】:

    Form::text() 中的第三个参数接受您希望传递给文本字段的属性数组,例如,

    Form::text('name', 'Enter your name', array('class' => 'large', 'title' => 'Enter your full name'));
    

    【讨论】:

    • 这就是这样做的方法。不需要宏
    猜你喜欢
    • 1970-01-01
    • 2021-01-18
    • 2017-04-06
    • 1970-01-01
    • 1970-01-01
    • 2016-03-15
    • 1970-01-01
    • 2013-01-29
    • 1970-01-01
    相关资源
    最近更新 更多