0

0

在 Laravel 中优雅处理 Form 表单

藏色散人

藏色散人

发布时间:2019-10-18 14:53:47

|

5291人浏览过

|

来源于codecasts

转载

在开发 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 代码大概是这个样子:

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

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

Matlab语言的特点 中文WORD版
Matlab语言的特点 中文WORD版

本文档主要讲述的是Matlab语言的特点;Matlab具有用法简单、灵活、程式结构性强、延展性好等优点,已经逐渐成为科技计算、视图交互系统和程序中的首选语言工具。特别是它在线性代数、数理统计、自动控制、数字信号处理、动态系统仿真等方面表现突出,已经成为科研工作人员和工程技术人员进行科学研究和生产实践的有利武器。希望本文档会给有需要的朋友带来帮助;感兴趣的朋友可以过来看看

下载
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

这样就大功告成啦!

最后

还是那句话:在表单处理的时候还是可以考虑一下 Form Package ,特别是你在处理

更多Laravel相关技术文章,请访问Laravel框架入门教程栏目进行学习!

相关专题

更多
c++ 根号
c++ 根号

本专题整合了c++根号相关教程,阅读专题下面的文章了解更多详细内容。

22

2026.01.23

c++空格相关教程合集
c++空格相关教程合集

本专题整合了c++空格相关教程,阅读专题下面的文章了解更多详细内容。

24

2026.01.23

yy漫画官方登录入口地址合集
yy漫画官方登录入口地址合集

本专题整合了yy漫画入口相关合集,阅读专题下面的文章了解更多详细内容。

99

2026.01.23

漫蛙最新入口地址汇总2026
漫蛙最新入口地址汇总2026

本专题整合了漫蛙最新入口地址大全,阅读专题下面的文章了解更多详细内容。

132

2026.01.23

C++ 高级模板编程与元编程
C++ 高级模板编程与元编程

本专题深入讲解 C++ 中的高级模板编程与元编程技术,涵盖模板特化、SFINAE、模板递归、类型萃取、编译时常量与计算、C++17 的折叠表达式与变长模板参数等。通过多个实际示例,帮助开发者掌握 如何利用 C++ 模板机制编写高效、可扩展的通用代码,并提升代码的灵活性与性能。

15

2026.01.23

php远程文件教程合集
php远程文件教程合集

本专题整合了php远程文件相关教程,阅读专题下面的文章了解更多详细内容。

65

2026.01.22

PHP后端开发相关内容汇总
PHP后端开发相关内容汇总

本专题整合了PHP后端开发相关内容,阅读专题下面的文章了解更多详细内容。

61

2026.01.22

php会话教程合集
php会话教程合集

本专题整合了php会话教程相关合集,阅读专题下面的文章了解更多详细内容。

63

2026.01.22

宝塔PHP8.4相关教程汇总
宝塔PHP8.4相关教程汇总

本专题整合了宝塔PHP8.4相关教程,阅读专题下面的文章了解更多详细内容。

33

2026.01.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Laravel---API接口
Laravel---API接口

共7课时 | 0.6万人学习

PHP自制框架
PHP自制框架

共8课时 | 0.6万人学习

PHP面向对象基础课程(更新中)
PHP面向对象基础课程(更新中)

共12课时 | 0.7万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号