我想调整 Laravel 4 中的 Illuminate\Html\FormBuilder 类,以自动在每个输入中包含一个 CSS 类,对应于输入类型,例如 <input type="radio" class="radio" />
我创建了自己的类,它扩展了原始类:
namespace Shady;
class FormBuilder extends Illuminate\Html\FormBuilder {
public function input($type, $name, $value = null, $options = array()) {
$options['class'] = isset($options['class'])
? implode(' ', array_unique(array_merge(array($type), explode(' ', $options['class']))))
: $type;
parent::input($type, $name, $value, $options);
}
}
现在,问题是,我如何让 Laravel 4 使用它?
我查看了 app/config/app.php,其中只有一个对 HTML Fascade 类的引用。我不确定它如何或在何处转换为 Illuminate\Support\ServiceProvider\HtmlServiceProvider 类,但该类硬编码 FormBuilder 类,ala
protected function registerFormBuilder()
{
$this->app['form'] = $this->app->share(function($app)
{
$form = new FormBuilder($app['html'], $app['url'], $app['session']->getToken());
return $form->setSessionStore($app['session']);
});
}
我想知道我是否可以欺骗它以某种方式加载我的课程版本?或者,如果没有,我还能如何顺利、整齐地添加此功能?干杯。