Laravel框架-用户注册功能实现(路由、控制器、视图)

2019年11月20日11:16:02 发表评论 902 views

Laravel框架是世界范围最流行的免费开源PHP Web应用程序框架,其架构模式是基于MVC设计模型开发的PHP应用程序框架。通过Controller、Route、View逻辑层次划分实现MVC设计模式,其中Controller控制器,用于实现业务逻辑;Route用于接收用户请求,实现请求的路由处理;View主要用于控制业务操作结果的展示即data model的输出显示。其操作实现原理过程描述如下:

Laravel框架-用户注册功能实现(路由、控制器、视图)

Laravel架构运行流程示意图


项目描述及素材说明

一家名为“ airx”的新航空公司需要开发一个网站来支持其在线服务,例如航班信息搜索,购票和登机手续。 根据前述需求分析,要求您完成本网站的原型(使用指定的php框架laravel快速生成代码)以验证这些功能需求和业务逻辑。

Laravel框架-用户注册功能实现(路由、控制器、视图)

案例描述index页面

该项目目前已经给出了基本的html静态页面,所需实现的是使用laravel完成网站的架构设及功能实现。文本主要以其中用户注册部分为例对laravel使用进行说明。本文涉及页面素材截图如下:

Laravel框架-用户注册功能实现(路由、控制器、视图)

用户注册页面

Laravel框架-用户注册功能实现(路由、控制器、视图)

注册成功跳转页面

除给出以上素材之外,项目还提供了数据迁移文件,因此在开发过程只需要运行迁移实现数据库及表的本地初始化。数据迁移文件素材如下:

Laravel框架-用户注册功能实现(路由、控制器、视图)

数据迁移文件


设计开发过程

在明确问题及所提供的素材基础上可以进一步选择开发工具进行网站的设计与实现。本文使用Sublime Text为开发工具进行用户注册功能的开发。开发过程描述如下:

1、配置开发环境

由于项目要求使用laravel框架进行应用的开发,因此首先需要配置开发环境,本例使用集成开发环境为XAMPP集成开发环境。Laravel选择使用版本。Laravel可直接下载安装包即可,解压之后将其直接放到XAMPP的htdocs文件夹之下。目录截图如下:

Laravel框架-用户注册功能实现(路由、控制器、视图)

配置文件目录结构

配置完服务器文件目录结构可直接在浏览器中输入localhost测试,环境搭建是否成功,如出现Laravel信息页面则表示测试成功。测试效果页面如下:

Laravel框架-用户注册功能实现(路由、控制器、视图)

测试页面成功标志

2、数据迁移

本例需要实现用户注册功能,前端表单填写信息需要提交后台数据库,结合素材给出的数据迁移文件,需要通过迁移文件实现数据表的定义。执行数据迁移只需要在控制台中执行以下命令即可:

php artisan migrate

在执行过程中需要注意首先创建数据库laravel之后再执行的路径并选择正确路径,结合自己文件目录结构确定路径,执行过程运行截图如下所示:

Laravel框架-用户注册功能实现(路由、控制器、视图)

文件迁移操作

文件迁移操作成功之后,可通过XAMPP提供的数据库管理功能查看是否迁移成功,如果迁移成功则能够查询到所创建的数据表。MySQL Admin查看结果如下:

Laravel框架-用户注册功能实现(路由、控制器、视图)

迁移数据表成功

3、视图模板定义

Laravel提供Blade 模板引擎可以快速实现网页模板的定义,所谓模板是将各网页公共部分进行提取,一方面优化页面设计,提高开发效率,另一方面也降低了代码编写量。通过分析给出的register页面与ucenter页面具有公共部分为页头与页脚部分,即以下两个截图部分:

Laravel框架-用户注册功能实现(路由、控制器、视图)

页头公共区域

Laravel框架-用户注册功能实现(路由、控制器、视图)

页尾公共区域

用户注册页面公共部分描述如上图,因此可以针对公共部分设置页面布局模板,本例文件为。Blade 模板扩展名为.。该文件缩略图如下:

Laravel框架-用户注册功能实现(路由、控制器、视图)

公共布局模板

该模板运行其它页面扩展css部分、JavaScript部分即编写页面内容content部分。以该模板为例,register页面、ucenter页面则可以进行修改。其中register页面保存为register.模板。通过extend与页面布局模板建立关联,并对layout指定部分进行了继承、扩展与实现编写。register.模板描述如下:

Laravel框架-用户注册功能实现(路由、控制器、视图)

register.模板

4、路由及控制器的实现

路由主要将用户请求进行转发,可通过view(),跳转到指定页面,也可以通过控制器交由controller控制器处理。本例主要页面只有两个,因此定义了两条路由规则,路由规则如下:

Laravel框架-用户注册功能实现(路由、控制器、视图)

路由定义

路由定义描述如上所示,其中第一个主要用于解决页面导航部分使用的html静态URL,将其请求转到View视图文件夹下的register.。第二个路由主要用于解决表单提交操作,将表单POST提交交给PostController控制器处理。控制器其实就是一个类,PostController控制器处理请求的方法即为store方法。该控制器设计描述如下:

Laravel框架-用户注册功能实现(路由、控制器、视图)

表单处理控制器

表单处理控制器描述如上,需要注意所有的控制器都必须存放到指定的文件夹下,路径描述如下:

htdocslaravel6appHttpControllers

在该控制器中我们使用了DB::table-

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: