PHP网站开发实例教程-第7章-Laravel框架(上)课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《PHP网站开发实例教程-第7章-Laravel框架(上)课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PHP 网站 开发 实例教程 Laravel 框架 课件
- 资源描述:
-
1、 PHP第7章 Laravel框架(上)初识Laravel路由控制器数据库操作视图防御CSRF攻击模型自动验证PHP网站开发实例教程 学习目标掌握了解熟悉掌握掌握了解Laravel框架13熟悉Laravel框架对CSRF攻击的处理方式掌握Laravel框架中路由的使用方法5掌握Laravel框架中对控制器、模型、视图的定义和使用方法24掌握Laravel框架的数据库操作和自动验证的使用方法 目录点击查看本节相关知识点点击查看本节相关知识点路由7.27.27.17.1初识Laravel7.37.3控制器点击查看本小节知识架构数据库操作7.47.4点击查看本小节知识架构 目录点击查看本节相关知识点
2、点击查看本节相关知识点防御CSRF攻击7.67.67.57.5视图7.77.7模型点击查看本小节知识架构自动验证7.87.8点击查看本小节知识架构 知识架构7.1 初识初识Laravel1Laravel概述2创建Laravel项目3配置VS Code编辑器4Laravel目录结构 知识架构7.2 路由路由1配置路由2路由参数3路由别名4路由分组 知识架构7.3 控制器控制器1创建控制器2控制器路由3接收用户输入 知识架构7.4 数据库操作数据库操作1配置数据库2添加数据3修改数据4查询数据5删除数据6执行SQL语句 知识架构7.5 视图视图1创建视图文件2向视图传递数据3视图数据的处理4循环操
3、作 知识架构7.5 视图视图5判断操作6模板继承7模板包含 知识架构7.6 防御防御CSRF攻击攻击1什么是CSRF攻击2在Laravel中防御CSRF攻击3从CSRF验证中排除例外路由 知识架构7.7 模型模型1定义模型2在控制器中使用模型3使用模型添加数据4使用模型查询数据5使用模型修改数据6使用模型删除数据 知识架构7.8 自动验证自动验证1如何进行自动验证2在Ajax请求中使用自动验证 7.1 初识Laravel Laravel概述Laravel是一套简洁、优雅的Web应用框架,具有富于表达性且简洁的语法,提供了强大的工具来开发大型应用,这些工具包括自动验证、路由、Session、缓存
4、、数据库迁移、单元测试等 7.1 初识Laravel Laravel概述Laravel框架具有目前大部分框架都具有的共同特点:l 单入口。为了让框架统一管理所有的请求,整个项目对外只提供一个入口l MVC开发模式。利用MVC可以更好地协同开发,为后期的维护提供方便l ORM(对象关系映射)方式操作数据库,支持AR(活动记录)模式 7.1 初识Laravel 创建Laravel项目步骤:l 开启常用扩展l 开启重写l 配置虚拟主机l 安装Laravel 7.1 初识Laravel 创建Laravel项目extension=curlextension=fileinfoextension=gd2ex
5、tension=mbstringextension=opensslextension=pdo_mysql开启常用扩展:7.1 初识Laravel 创建Laravel项目 DocumentRoot C:/web/www/laravel/public ServerName www.laravel.test ServerAlias laravel.testOptions-indexes AllowOverride All Require all granted配置虚拟主机:7.1 初识Laravel 创建Laravel项目composer create-project laravel/laravel
6、=5.5.*-prefer-dist./安装Laravel:7.1 初识Laravel 创建Laravel项目安装结果:7.1 初识Laravel 创建Laravel项目访问http:/www.laravel.test,页面显示结果:7.1 初识Laravel 配置VS Code编辑器使用VS Code编辑器打开Laravel项目,创建.vscode/settings.json文件,添加配置对代码进行语法检查和自动格式化 php.suggest.basic:false,php.executablePath:C:/web/php7.2/php.exe,phpcs.standard:psr2,fi
7、les.eol:n 7.1 初识Laravel Laravel目录结构Laravel一级目录的作用:目录目录作用作用app应用目录,保存项目中的控制器、模型等bootstrap和框架的启动相关的文件config存放一些配置文件database数据库迁移文件及数据填充文件public应用入口文件index.php和前端资源文件(如CSS、JavaScript等)resources存放视图文件、语言包和未编译的前端资源文件routes存放应用中定义的所有路由storage存放编译后的模板、Session文件、缓存文件、日志文件等tests自动化测试文件vendor存放通过Composer加载的依赖
8、 7.1 初识Laravel Laravel目录结构Laravel常用的子目录和文件:类型类型路径路径作用作用目录appHttp存放HTTP请求相关的文件目录appHttpControllers存放控制器文件目录appHttpControllersAuthAuth模块的控制器目录文件appHttpControllersController.php控制器的基类文件目录appHttpMiddleware中间件目录文件appUser.phpUser模型文件文件bootstrapautoload.php自动加载文件文件configapp.php全局配置文件 7.1 初识Laravel Laravel目
9、录结构Laravel常用的子目录和文件:类型类型路径路径作用作用文件configauth.phpAuth模块的配置文件文件configdatabase.php数据库配置文件文件configfilesystem.php文件系统的配置文件目录databasefactories存放工厂模式的数据填充文件目录databasemigrations存放数据库迁移文件目录databaseseeds存放数据填充器文件目录resourceslang存放语言包文件目录resourcesviews存放视图文件 7.1 初识Laravel Laravel目录结构Laravel常用的子目录和文件:类型类型路径路径作用作
10、用文件routesweb.php定义路由的文件目录storageapp存放用户上传的文件目录storageframework存放与框架自身相关的文件目录storagelogs存放日志文件文件publicindex.php入口文件文件.env环境变量配置文件文件artisan脚手架文件文件composer.jsonComposer依赖包配置文件 7.2 路由 配置路由路由需要在routes/web.php文件中进行配置,Route类定义路由的方式:Route:get(/hello,function()return hello;);/同时匹配get和post请求方式Route:match(get,
11、post,test1,function()return 通过match()匹配;);/匹配任意请求方式Route:any(test2,function()return 通过any()匹配;);7.2 路由 路由参数Laravel允许在请求URI中传递一些动态的参数,称为路由参数路由参数分为必选参数和可选参数,必选参数的语法为“参数名”可选参数的语法为“参数名?”演示如何使用必选参数:Route:get(find/id,function($id)return 输入的id为.$id;);7.2 路由 路由参数演示如何使用可选参数:Route:get(find2/id?,function($id=0
12、)return 输入的id为.$id;);7.2 路由 路由别名路由别名用来在路由定义的时候,为路由起一个别名演示给路由设置别名:Route:get(/hello/123,function()return hello;)-name(hello);7.2 路由 路由分组为了方便路由的管理,对路由进行分组,分组后可以对一组路由统一进行管理例如下面一组路由:/admin/login/admin/logout/admin/index/admin/user/add/admin/user/del 7.2 路由 路由分组路由分组后:Route:group(prefix=admin,function()Rou
13、te:get(login,function()return 这里是/admin/login;);Route:get(logout,function()return 这里是/admin/logout;);Route:get(user/add,function()return 这里是/admin/user/add;););7.3 控制器 创建控制器一个控制器文件应包含命名空间的声明和引入,以及控制器类的定义为了防止出错Laravel提供了自动生成控制器的命令php artisan make:controller 控制器名 7.3 控制器 创建控制器代码演示使用php artisan创建一个Test
14、Controller控制器:php artisan make:controller TestController 7.3 控制器 创建控制器Test控制器代码如下所示:?php namespace AppHttpControllers;use IlluminateHttpRequest;class TestController extends Controller /7.3 控制器 控制器路由控制器路由是路由的一种定义方式控制器路由是将回调函数修改为“控制器类名方法名”Route:get(admin/test1,AdminTestControllertest1);7.3 控制器 接收用户输入接
15、收用户输入的方式主要有两种:l 通过Request实例接收l 通过路由参数接收 7.3 控制器 接收用户输入通过Request实例接收用户输入:input(name);return name的值为.$name;7.3 控制器 接收用户输入使用Request实例接收查询字符串:1.给input()方法定义路由Route:get(test/input,TestControllerinput);2.访问http:/www.laravel.test/test/input?name=xiaoming输出结果:“name的值为xiaoming”7.3 控制器 接收用户输入使用Request实例接收路由参数
16、:1.修改路由定义方式,在路由中匹配name参数Route:get(test/input/name,TestControllerinput);2.修改input()方法3.访问http:/www.laravel.test/test/input?name=xiaoming输出结果:“name的值为xiaoming”public function input(Request$request)$name=$request-name;return name的值为.$name;7.3 控制器 接收用户输入通过路由参数接收用户输入:1.修改路由定义方式,在路由中匹配name参数Route:get(test
17、/input/name,TestControllerinput);2.修改input()方法3.访问http:/www.laravel.test/test/input?name=xiaoming输出结果:“name的值为xiaoming”public function input(Request$request)return name的值为.$name;7.4 数据库操作 配置数据库步骤:l 创建Laravel数据库,在数据库中创建member表l 在configdatabase.php文件中将配置参数从环境变量中获取l 在.env文件中配置数据库的参数l 在test控制器中创建方法,测试DB
18、类 7.4 数据库操作 添加数据insert()方法返回值为true或false,表示是否添加成功$data=name=tom,age=22,email=tomlaravel.test;dump(DB:table(member)-insert($data);7.4 数据库操作 添加数据insertGetId()方法返回值为自动增长的id$data=name=tom,age=22,email=tomlaravel.test;dump(DB:table(member)-insertGetId($data);7.4 数据库操作 修改数据update()方法用来修改指定的字段/将表中所有记录的name
19、字段的值都改为tom$data=name=tom;dump(DB:table(member)-update($data);7.4 数据库操作 修改数据increment()方法用来对数字进行递增/将表中所有记录的age字段的值都加1dump(DB:table(member)-increment(age);/将表中所有记录的member字段的值都加5dump(DB:table(member)-increment(age,5);7.4 数据库操作 修改数据decrement()方法用来对数字进行递减/将表中所有记录的member字段的值都减1dump(DB:table(member)-decrem
20、ent(age);/将表中所有记录的member字段的值都减5dump(DB:table(member)-decrement(age,5);7.4 数据库操作 修改数据使用WHERE条件限定要操作的记录/参数形式1:where(字段名,运算符,字段值)DB:table(member)-where(id,=,1)-update($data);/参数形式2:where(字段名,字段值),使用“=”运算符DB:table(member)-where(id,1)-update($data);/参数形式3:where(字段名=字段值),使用=运算符,支持多个字段,AND关系DB:table(member
展开阅读全文