php - Laravel Form 方法 VS 传统编码

标签 php laravel laravel-4

我目前正在学习 Laravel,发现它非常有用且有趣。

目前我正在制作一个简单的在线申请表。

使用 Laravel 语法执行操作的最大优点是什么:

{{ Form::open(array('url' => 'foo/bar')) }}

而不是简单地:

<form action="foo/bar">

或者:

echo Form::text('username');

而不是:

<input type="text" name="username" />

Laravel 的方式一定更好,我只是想知道到底为什么?

最佳答案

使用内置 HTML 帮助程序有很多好处:

  1. 使用 Form::open 添加隐藏的 CSRF 保护输入(默认情况下)

  2. 使用表单元素(输入/文本区域等)和withInput方法进行重定向,让您可以轻松地使用相同的数据填写表单,几乎无需编码

    如果您使用 Redirect::route('form'->withInput(); 并有输入 text {{Form::text('username')}} 它会自动将输入的值设置为旧数据 - 您不需要自己编写代码检查它

  3. 此外,如果您想将字段与标签匹配,则更容易:

    {{ Form::label('username', 'Enter username') }}
    {{ Form::text('username') }}
    

    它将生成以下代码:

    <label for="username">Enter username</label>
    <input name="username" type="text" id="username">
    

    如您所见,id 将自动创建

可能还有更多。然而,主要缺点是您需要学习,并且如果您想将站点移动到其他框架,它是不可移植的,但每个解决方案都有优点和缺点。

关于php - Laravel Form 方法 VS 传统编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25969746/

相关文章:

Laravel 4 的 nginx 配置

php - 用 Preg_Replace 替换撇号时出现问题

javascript - 将 SQL 表中的值存储到不同的 PHP 数组中

php - Symfony 动态子域

php - 尝试在 Laravel 中删除一行时出现错误 "Call to undefined method stdClass::delete()"

laravel-4 - 如何使用 auth 在 laravel-4 中更改密码

php - shell_exec() 总是返回空字符串

reactjs - 无法使用 babel 和 react-bootstrap 与 Laravel 进行 react

php - CentOS 7 上的 Laravel 5 无法在域上运行

php - NULL 默认值不一致,并且更新将 NULL 更改为空字符串 Laravel4