在 laravel 中优雅处理 form 表单

在 laravel 中优雅处理 form 表单_php_web-itnose

首页
asp
php
javascript
iis
apache
html/css
coldfusion
ajax
vbscript
cgi
xml/xsl
跨浏览器开发
ruby/rails
程序员
html5
jquery
seo
jboss
json
angularjs
markdown
nginx
thinkphp
yii
pageadmin
extjs
wampserver
kendo ui
coffeescript
gulp
ecmascript
bootstrap

itnose首页 > web > php >

在 laravel 中优雅处理 form 表单

2017-06-12 23:07

原文:https://www.laravist.com/blog…

在开发 laravel 应用的时候,通常都会涉及到表单的处理,针对如何优雅处理和复用 laravel 的 form 表单,下面是小小的人生经验:

使用 form package

虽然写原生的 html 代码可读性确实高了,但是其实 form package 还是会带给我们很多的便利,比如在使用 form::model() 和 form::select() 的时候。

想象这样一个例子:我们需要添加或者更新用户的用户名

我们可以设计类似这样的代码和目录结构:

// 位于 resources/views/users/edit.blade.php
{!! form::model($user, [‘route’ => [‘users.update’, $user->id], ‘method’ => ‘put’]) !!}
@include(‘users._form’)
// your cancel / update buttons
{!! form::close() !!}
// 位于 resources/views/users/_form.blade.php

{!! form::label(‘name’, ‘name’) !!}
{!! form::text(‘name’) !!}

上面的 form 生成的 html 代码大概是这个样子:

name

注意在 form::model() 方法中,我们之间传递了 $user 变量,这也就是说:如果 $user 存在 name 属性的值,表单就会自动填充该值,都不用我们手动写。

第二点就是,既然我们是要传递 $user 到 form::model() 中,我们可以在控制器中使用这样的小技巧:

class usercontroller extends controller
{
public function create()
{
return view(‘users.create’, [‘user’ => new user]);
}
public function edit(user $user)
{
return view(‘users.edit’, [‘user’ => $user]);
}
}

这样的话,你在编辑和新增的时候都不会存在冲突,编辑更新的时候有 name 的值,新增的时候就不用有 name 的值。所以我们可以把整个 form 表单写成类似下面这个:

// 位于 resources/views/users/_form.blade.php

name

这样就大功告成啦!

最后

还是那句话:在表单处理的时候还是可以考虑一下 form package ,特别是你在处理 的时候,你会想念 form package 的。

相关搜索:
如何利用图表在股市中获利
jsp form action
jsp 表单
jsp表单
.net表单

相关文章

2016-12-24 03:14 laravel 使用 whoops 处理错误最优雅的姿势
2014-02-19 21:20 thinkphp中form表单action的问题
2014-03-02 21:02 请教:form表单中调用onclick出错
2017-04-20 16:56 在 docker 中运行 laravel 项目
2016-05-22 08:52 laravel 表单验证

更多相关文章>>

最新文章

2017-06-20 01:35 老铁们,有没有可能让php文件同时只能一个人访问
2017-06-20 01:35 怎么禁止图片直接通过url访问
2017-06-20 01:35 求救!启动wamp只能用本机访问,同局域网的其它设备访问不到!搞了大半天t-t
2017-06-19 15:35 nginx下的thinkphp问题
2017-06-19 15:35 php form 文件上传

更多最新文章>>

热门搜索

webservice异常处理
jquery 处理xml
c++图像处理
jsp表单提交
spring mvc 表单
asp.net 表单
jsp中的注释
c++中的~
hibernate 事务处理
hibernate事务处理
db2 异常处理
html5表单验证
jsp中写java代码
spring中ioc和aop
java程序员在北京的工资

京icp备14022385号-2

©2014 itnose软件编程教程 | 联系我们:email:twobrushes@126.com qq:35155868

Posted in 未分类