Laravel框架开发实战全套ppt课件最全电子教案完整版教学教程整套全书课件ppt.pptx
Laravel框架开发实战第1章 初识Laravel框架学习目标/Target 了解Laravel框架,能够说出Laravel框架的特点 掌握开发环境的搭建,能够配置和部署Web服务器 掌握Laravel框架的安装,能够创建和运行Laravel项目 了解Laravel框架的目录结构,能够说出每个目录的作用章节概述/ Summary在实际开发中,使用框架可以使开发者节省在底层代码花费的时间,将主要精力放在业务逻辑上,同时还能保证项目的可升级性和可维护性。市面上常见的PHP框架有很多,本书选择市面上非常流行的Laravel框架进行讲解。本章主要对Laravel框架的概念和开发环境的搭建等基础知识进行详细讲解。目录/Contents010203什么是Laravel框架搭建开发环境安装Laravel框架04Laravel框架的目录结构什么是Laravel框架1.11.1 什么是Laravel框架 先定一个小目标!了解什么是Laravel框架,能够说出Laravel框架的概念与特点Laravel是泰勒奥特威尔(Taylor Otwell)使用PHP语言开发的一款开源的Web应用框架。于2011年6月首次发布,发布以来备受PHP开发人员的喜爱,用户的增长速度十分迅猛。Laravel是一套简洁、优雅的框架,具有简洁且富于表达性的语法。Laravel秉承“Dont Repeat Yourself”(不要重复你自己)的理念,提倡代码的重用。Laravel为开发大型应用提供了强大的功能,包括自动验证、路由、Session、缓存、数据库迁移等。1.1 什么是Laravel框架1.1 什么是Laravel框架Laravel框架的特点:1.对外只提供一个入口,让框架统一管理项目的所有的请求。2.采用MVC设计模式,帮助团队更好地协同开发,为项目后期的维护提供方便。3.支持Composer依赖管理工具,可以为项目自动安装依赖。4.采用ORM方式操作数据库,支持AR模式。5.注重代码的模块化和可扩展性,开发者可以通过Laravel组件库Packalyst找到想要添加的组件。6.自带各种方便的服务,提供开箱即用的用户身份验证功能和缓存系统,可以快速开发出相应的功能。7.具有路由功能,Laravel框架通过路由分发每一个请求,并可以对请求进行分组。8.提供Artisan命令行工具,帮助开发人员将手动的工作自动化。1.1 什么是Laravel框架多学一招:MVC设计模式MVC是Xerox PRAC(施乐帕克研究中心)在20世纪80年代为编程语言Smalltalk80发明的一种软件设计模式。到目前为止,MVC已经成为一种被广泛使用的软件开发模式。MVC采用了人类分工协作的思维方法,将程序中的功能实现、数据处理和界面显示相分离,从而在开发复杂的应用程序时,开发者可以专注于其中的某个方面,进而提高开发效率和项目质量,便于代码的维护。1.1 什么是Laravel框架多学一招:MVC设计模式MVC的作用:l 模型(Model),负责数据操作,主要用来操作数据库。通常情况下,一个模型对应一张数据表。l 视图(View),负责渲染视图,主要用于展示页面。l 控制器(Controller),负责所有业务的处理。通常情况下,一个控制器只处理一类业务。例如,用户控制器实现用户注册登录功能;订单控制器实现订单的生成等功能。搭建开发环境1.21.2.1 Apache安装与配置 先定一个小目标!掌握Apache的安装与配置,能够独立完成Apache的安装与配置1.2.1 Apache安装与配置获取安装包解压配置Apache安装Apache启动Apache服务访问测试12345从Apache官方网站下载安装包并解压。在Apache的配置文件中修改Apache的安装目录和服务器域名。在命令行中切换到Apache的安装目录,执 行 命 令 安 装Apache。使用Apache提供的binApacheMonitor.exe服务监视工具启动服务。通过浏览器访问本机站点。安装Apache的基本步骤:1.2.1 Apache安装与配置p下载安装包在Apache Lounge网站中获取编译的版本,在网站中找到httpd-2.4.38-win32-VC15.zip压缩包进行下载。p解压安装包将压缩包里面的Apache24目录中的文件解压到C:webapache2.4。p安装运行库Apache安装包使用Microsoft Visual C+ 2017运行库进行编译,在安装Apache前需要先在Windows系统中安装此运行库。获取安装包解压1.2.1 Apache安装与配置配置Apachep配置安装路径在confhttpd.conf配置正确的安装路径:p配置服务器域名在confhttpd.conf中去掉服务器域名的注释:Define SRVROOT C:webapache2.4ServerName :801.2.1 Apache安装与配置安装Apachep安装安装Apache命令:p卸载卸载Apache命令:httpd -k install -n Apache2.4httpd -k uninstall-n Apache2.41.2.1 Apache安装与配置启动Apache服务p启动Apache服务选择Start启动服务,当图标由红色变为绿色表示启动成功。1.2.1 Apache安装与配置访问测试p访问Apache默认站点通过浏览器访问http:/localhost,如果显示“It works !”说明Apache正常运行。1.2.2 PHP安装与配置 先定一个小目标!掌握PHP的安装与配置,能够独立完成PHP的安装与配置1.2.2 PHP安装与配置获取并解压PHP创建配置文件在Apache中引入PHP测试安装结果开启常用扩展12345从PHP官方网站下载安装包并解压。创建php.ini配置文件。在Apache的配置文件中引入PHP模块。创建测试文件,查看PHP的状态信息。开启常用的扩展,查看扩展的开启结果。安装PHP的基本步骤:配置索引页6设置默认打开的文件。1.2.2 PHP安装与配置获取并解压PHPp下载安装包选择PHP 7.2.15、Thread Safe版本下载。p解压将压缩包解压,保存到C:webphp7.2目录中。1.2.2 PHP安装与配置创建配置文件p创建php.ini文件在PHP安装目录下复制php.ini-development文件,并命名为php.ini,作为PHP的配置文件。1.2.2 PHP安装与配置在Apache中引入PHPLoadModule php7_module C:/web/php7.2/php7apache2_4.dll setHandler application/x-httpd-phpPHPIniDir C:/web/php7.2LoadFile C:/web/php7.2/libssh2.dll修改Apache配置文件httpd.conf引入PHP模块。1.2.2 PHP安装与配置测试安装结果在C:webapache2.4htdocs下创建test.php文件,查看PHP状态信息。1.2.2 PHP安装与配置开启常用扩展p修改PHP扩展文件保存路径在php.ini中搜索文本extension_dir,去掉注释,修改成正确路径。p开启常用PHP扩展extension_dir = c:/web/php7.2/extextension=curlextension=gd2extension=openssl1.2.2 PHP安装与配置配置索引页 DirectoryIndex index.html index.php在Apache配置文件confhttpd.conf中搜索DirectoryIndex,配置索引页。1.2.3 MySQL安装与配置 先定一个小目标!掌握MySQL的安装与配置,能够独立完成MySQL的安装与配置1.2.3 MySQL安装与配置安装MySQL创建配置文件初始化数据库启动MySQL登录MySQL12345从官方网站下载安装包并安装。创建my.ini配置文件。通过MySQL的初始化功能,自动创建数据库文件保存目录。通过命令启动MySQL服务。通过命令登录MySQL服务器。安装MySQL的基本步骤:设置密码6为root用户设置登录密码。1.2.3 MySQL安装与配置安装MySQLp获取并解压MySQL获取社区版压缩包mysql-5.7.24-win32.zip将其解压保存到C:webmysql5.7目录中。p安装MySQL输入以下命令开始安装。cd C:webmysql5.7binmysqld -install mysql5.71.2.3 MySQL安装与配置创建配置文件p创建my.ini在文件中指定安装目录(basedir)、数据库文件保存目录(datadir)和端口号(port)。mysqldbasedir=C:/web/mysql5.7datadir=C:/web/mysql5.7/dataport=33061.2.3 MySQL安装与配置初始化数据库p执行命令初始化数据库初始化数据库命令如下。-initialize 表示初始化数据库。-insecure 表示忽略安全性。当省略“-insecure”时,MySQL 将自动为默认用户root 生成一个随机的复杂密码,而加上“-insecure”时,默认用户root 的密码为空。 自动生成的密码输入比较麻烦,因此这里选择忽略安全性。mysqld -initialize-insecure1.2.3 MySQL安装与配置启动MySQLp启动MySQL服务启动MySQL服务的命令如下。p停止MySQL服务停止MySQL服务的命令如下。net start mysql5.7net stop mysql5.71.2.3 MySQL安装与配置登录MySQLp登录MySQL服务器登录MySQL服务器命令如下。mysql -u root1.2.3 MySQL安装与配置设置密码p设置root用户的密码登录MySQL后,将root用户的密码设为123456。ALTER USER rootlocalhost IDENTIFIED BY 123456;1.2.4 配置虚拟主机 先定一个小目标!掌握虚拟主机的配置方法,能够独立完成虚拟主机的配置1.2.4 配置虚拟主机配置域名启用辅配置文件配置虚拟主机测试域名1234通过更改hosts文件,将任意域名解析到指定IP。在Apache配置文件中引入辅配置文件。配置虚拟主机访问指定的目录。查看域名是否可以正确访问。配置虚拟主机基本步骤:1.2.4 配置虚拟主机配置域名p修改hosts文件在hosts文件的最底部添加记录。hosts文件用于配置域名与IP地址之间的解析关系,当请求域名在hosts文件中存在解析记录时,可直接使用该记录,只有当不存在解析记录时,才通过DNS域名解析服务器进行解析。127.0.0.1 laravel.test1.2.4 配置虚拟主机启用辅配置文件p修改httpd.conf启用虚拟主机辅配置文件,找到如下配置,删除前面的“#”即可启用。Include conf/extra/httpd-vhosts.conf1.2.4 配置虚拟主机配置虚拟主机 DocumentRoot c:/web/apache2.4/htdocs ServerName localhost DocumentRoot c:/web/www/laravel/public ServerName laravel.test Options -indexes AllowOverride All Require local在confextrahttpd-vhosts.conf中添加虚拟主机。1.2.4 配置虚拟主机测试域名创建C:webwwwlaravelpublic目录,在目录中编写一个内容为Laravel的index.html。访问结果1.2.5 安装Composer依赖管理工具 先定一个小目标!掌握Composer的安装方法,能够独立完成Composer的安装1.2.5 安装Composer依赖管理工具Composer是PHP用来管理依赖(dependency)关系的工具。只需在项目中声明依赖的外部工具库,Composer会自动安装这些依赖的库文件。Windows下的安装方式:1.使用安装程序进行安装2.使用命令行安装1.2.5 安装Composer依赖管理工具Composer的安装过程:1.是否使用开发者模式(Developer mode)。若选中此项,则不提供卸载功能,推荐不选中。2.选择PHP命令行程序。单击“Browse”按钮浏览文件,选择C:webphp7.2php.exe即可。3.更新php.ini。若当前php.ini不符合Composer的环境需求,安装程序会提示修改php.ini,并创建备份文件。若php.ini符合需求,则该步骤会自动跳过。4.填写代理服务器。无需使用,留空即可。1.2.5 安装Composer依赖管理工具Composer的安装结果:在命令行窗口输入composer命令测试是否安装成功。 _ / _/_ _ _ _ _ _ _ / / / _ / _ _ / _ / _ / _/ _ / _/ /_/ /_/ / / / / / / /_/ / /_/ (_ ) _/ /_/_/_/ /_/ /_/ ._/_/_/_/_/ /_/Composer version 1.10.9 2020-07-16 12:57:00(由于输出结果很长,此处省略)1.2.6 安装Visual Studio Code编辑器 先定一个小目标!掌握Visual Studio Code编辑器的安装方法,能够独立完成编辑器的安装1.2.6 安装Visual Studio Code编辑器Visual Studio Code(简称VS Code)是微软公司开发的一款代码编辑器,具有免费、开源、轻量级、高性能、跨平台等特点。安装编辑器:在官方网站获取软件的安装包。1.2.6 安装Visual Studio Code编辑器设置主题:默认主题为黑色背景,若更换主题,单击左下角齿轮形状的Manage(管理)按钮,在弹出的菜单中选择Color Theme(颜色主题),选择Light+ (default light)。设置语言:默认语言为英文,若切换为中文,单击左边栏的第5个图标按钮Extensions(扩展),然后输入关键词chinese即可找到中文语言扩展,单击Install按钮安装。编写代码:单击“打开文件夹”,选择C:webwwwlaravel目录,在左侧“资源管理器”中选择publicindex.html进行编辑。安装Laravel框架1.31.3.1 开启必要的扩展 先定一个小目标!了解学习Laravel框架需要开启哪些必要的扩展,能够说出这些扩展的作用1.3.1 开启必要的扩展在安装Laravel框架前,需要确保在php.ini中打开必要的扩展:extension=opensslextension=pdo_mysqlextension=mbstring运行Laravel框架还需要PHP内建扩展的支持,默认已经开启,使用php -m命令检查是否已经开启:bcmathctypejsontokenizerxml1.3.2 使用Composer安装Laravel框架 先定一个小目标!掌握如何使用Composer安装Laravel框架,能够独立完成Laravel框架的安装1.3.2 使用Composer安装Laravel框架Laravel5.8框架的安装方式:1.通过 Laravel安装器进行安装。2.通过Composer安装。Laravel框架安装命令:composer create-project -prefer-dist laravel/laravel laravel 5.8.*create-project表示创建项目-prefer-dist表示以压缩的方式下载laravel/laravel是框架在Composer的默认包仓库网站中的包名laravel表示将框架下载到laravel目录中5.8.*是版本号,表示安装5.8系列的最新版本1.3.2 使用Composer安装Laravel框架由于Composer的资源库packagist是国外网站,在国内访问速度会很慢,可以从“Packagist 中国全量镜像”获取缓存数据,具体命令如下:composer config -g repo.packagist composer https:/取消获取缓存数据的命令:composer config -g -unset repos.packagist1.3.2 使用Composer安装Laravel框架Laravel安装成功效果图:1.3.2 使用Composer安装Laravel框架访问Laravel框架:1.3.2 使用Composer安装Laravel框架更新Laravel框架命令:上述命令执行后,会更新框架至最新版本。composer update laravel/frameworkLaravel框架的目录结构1.41.4 Laravel框架的目录结构 先定一个小目标!了解Laravel框架的目录结构,能够说出每个目录的作用1.4 Laravel框架的目录结构Laravel框架的一级目录:目录作用app应用目录,保存项目中的控制器、模型等bootstrap保存框架启动的相关文件config配置文件目录database数据库迁移文件及数据填充文件public应用入口文件index.php和前端资源文件(如CSS、JavaScript等)resources存放视图文件、语言包和未编译的前端资源文件routes存放应用中定义的所有路由storage存放编译后的模板、Session文件、缓存文件、日志文件等tests自动化测试文件vendor存放通过Composer加载的依赖1.4 Laravel框架的目录结构Laravel框架常用的子目录和文件:类型路径作用目录appHttp存放HTTP请求相关的文件目录appHttpControllers存放控制器文件目录appHttpControllersAuthAuth模块的控制器目录文件appHttpControllersController.php控制器的基类文件目录appHttpMiddleware中间件目录文件appUser.phpUser模型文件文件bootstrapautoload.php自动加载文件文件configapp.php全局配置文件文件configauth.phpAuth模块的配置文件文件configdatabase.php数据库配置文件文件configfilesystem.php文件系统的配置文件目录databasefactories存放工厂模式的数据填充文件表1/21.4 Laravel框架的目录结构Laravel框架常用的子目录和文件:类型路径作用目录databasemigrations存放数据库迁移文件目录databaseseeds存放数据填充器文件目录resourceslang存放语言包文件目录resourcesviews存放视图文件文件routesweb.php定义路由的文件目录storageapp存放用户上传的文件目录storageframework存放与框架自身相关的文件目录storagelogs存放日志文件文件publicindex.php入口文件文件.env环境变量配置文件文件artisan脚手架文件文件composer.jsonComposer依赖包配置文件表2/2本章小结本章先介绍了什么是Laravel框架;然后,为了确保读者的开发环境与本书一致,讲解了开发环境的搭建步骤,完成了Apache、PHP和MySQL的安装与配置、虚拟主机的配置,以及Composer依赖管理工具和Visual Studio Code编辑器的安装;最后,讲解了如何安装Laravel框架,并对Laravel框架的目录结构进行了简要介绍,为读者后续深入学习Laravel框架做了铺垫。本本章章小小结结Laravel框架开发实战第2章 路由、控制器和视图学习目标/Target 掌握路由的使用方法,能够在框架中配置不同形式的路由 掌握控制器的定义和使用,能够熟练使用控制器处理请求 掌握视图的定义和使用,能够处理复杂的页面渲染需求章节概述/ Summary在学习了第1章的内容后,读者已经掌握了开发环境的搭建和Laravel框架的安装,也对Laravel框架有了初步的了解。但是这些初步的了解对于使用Laravel框架进行项目开发来说还是远远不够的,因此,需要进一步学习Laravel框架的基础知识,学会使用Laravel框架开发一些简单的功能。本章将对Laravel框架的路由、控制器和视图进行详细讲解。目录/Contents010203路由控制器视图路由2.12.1.1 什么是路由 先定一个小目标!了解什么是路由,能够说出路由的概念2.1.1 什么是路由路由指从某一网络设备出发去往某个目的地的路径。网络通信中网站开发中路由是URL地址和真实的资源之间的对应的关系。2.1.1 什么是路由路由的工作流程:2.1.2 配置路由 先定一个小目标!掌握路由的配置方法,能够完成路由的配置2.1.2 配置路由路由配置文件: routesweb.php路由示例:Route:get(/, function () return view(welcome););Route:get()定义路由,get是路由的请求方式。/ 表示当用户访问网站的首页。view()函数表示要显示的视图,welcome表示视图文件名称。2.1.2 配置路由配置路由的语法格式:Route:请求方式(请求URI, 匿名函数或控制器相应的方法)get、postput、patchdelete、options请求URI:一个完整URL中从域名后的 / 到 ? 之间的部分请求URI示例:完整URI请求URIhttp:/laravel.test/http:/laravel.test/hello/123/hello/123http:/laravel.test/hello/456?a=1/hello/4562.1.2 配置路由配置路由示例:Route:get(/hello, function () return hello;/ 返回一个字符串给浏览器);2.1.2 配置路由Route类中的match()方法用来在一个路由中同时匹配多个请求方式,any()方法用来在一个路由中匹配任意请求方式,示例如下:/ 同时匹配get和post请求方式Route:match(get, post, test1, function () return 通过match()匹配;);/ 匹配任意请求方式Route:any(test2, function () return 通过any()匹配;);2.1.3 路由参数 先定一个小目标!掌握设置参数,能够完成路由参数的设置2.1.3 路由参数什么是路由参数:在请求URI中传递的参数,通过“参数名”的形式传递,路由参数与回调函数中的$id对应。示例代码:Route:get(find/id, function ($id) return 输入的id为 . $id;);2.1.3 路由参数路由参数分类:路由参数分为必选参数和可选参数。必选参数的语法格式:参数名 可选参数的语法格式:参数名? 可选参数示例代码:Route:get(find2/id?, function ($id = 0) return 输入的id为 . $id;);id?表示可选参数回调函数的参数$id默认值是0,如果没有给$id设置默认值,省略可选参数时会报错。2.1.4 重定向路由 先定一个小目标!掌握重定向路由,能够完成重定向路由的定义2.1.4 重定向路由重定向路由的作用:用来实现页面跳转。重定向路由的语法格式:Route:redirect(请求URI, 重定向URI ,状态码);redirect表示实现路由重定向。状态码是可选参数,默认状态码是302。重定向路由示例代码:将路由“hello”重定向到“/”。Route:redirect(/hello, /);2.1.5 路由别名 先定一个小目标!掌握路由别名,能够完成路由别名的定义2.1.5 路由别名路由别名的作用:用来在定义路由时,为路由起一个别名。使用场景:当路由地址发生修改时,使用了这个路由地址的地方都需要手动修改。路由别名语法格式:Route:get(/hello/123, function () return hello;)-name(hello);2.1.6 路由分组 先定一个小目标!掌握路由分组,能够完成分组路由的定义2.1.6 路由分组路由分组的作用:方便对一组路由进行统一管理。路由分组原理:通过前缀对路由进行分组。/admin/login/admin/logout/admin/index路由前缀2.1.6 路由分组路由分组语法格式:Route:group(公共属性数组, 回调函数)公共属性数组:同组路由的公共属性,如路由前缀(prefix)、中间件(middleware)。回调函数:用来定义同组路由,路由的地址都是剔除公共前缀之后的地址。2.1.6 路由分组路由分组示例代码:Route:group(prefix = admin, function () Route:get(login, function () return 这里是/admin/login; ); Route:get(logout, function () return 这里是/admin/logout; ); Route:get(index, function () return 这里是/admin/index; ););控制器2.22.2.1 控制器的创建 先定一个小目标!掌握控制器的创建,能够通过命令创建控制器2.2.1 控制器的创建控制器文件的保存目录为appHttpControllers,该目录下的示例文件:Auth模块的控制器控制器的基类2.2.1 控制器的创建创建控制器的命令:php artisan make:controller 控制器名php artisan表示使用Laravel提供的artisan工具make:controller表示生成控制器,在后面书写控制器名控制器名采用大驼峰的形式,后面加上Controller后缀,如TestController2.2.1 控制器的创建创建TestController控制器命令:php artisan make:controller TestControllerappHttpControllersTestController.php:?phpnamespace AppHttpControllers;use IlluminateHttpRequest;class TestController extends Controller /命名空间导入Request类继承基类2.2.1 控制器的创建创建不同模块下的控制器命令:php artisan make:controller Admin/TestControllerappHttpControllersAdminTestController.php:input(name);/ 3. 调用input()方法获取数据 return name的值为 . $name; Request实例保存了当前HTTP请求的信息,通过它可以获取用户输入的数据。Request实例的使用:2.2.3 接收用户输入http:/laravel.test/test/input?name=xiaomingRequest实例还可以接收查询字符串或路由参数。接收查询字符串:通过查询字符串的方式为name传入一个参数值“xiaoming”通过浏览器访问测试,运行结果为:name的值为xiaoming2.2.3 接收用户输入Route:get(test/input/name, TestControllerinput);接收路由参数:在路由中匹配name参数修改TestController的input()方法:public function input(Request $request) $name = $request-name; return name的值为 . $name;通过浏览器访问测试。2.2.3 接收用户输入 先定一个小目标!掌握通过路由参数接收用户输入,能够正确定义路由参数并完成路由参数的接收2.2.3 接收用户输入Route:get(test/input/name, TestControllerinput);通过路由参数接收用户路由参数可以直接在对应的方法中通过形参来接收。设置路由参数:2.2.3 接收用户输入在input()方法接收$name:public function input($name) return name的值为 . $name;通过浏览器访问:http:/laravel.test/test/input/xiaoming,运行结果为:name的值为xiaoming2.2.3 接收用户输入多学一招:Request实例的更多用法/ 通过第2个参数可以设置默认值,当没有传name时,返回Sally$name = $request-input(name, Sally);/ 获取数组参数(相当于products0name )$name = $request-input(products.0.name);/ 获取全部参数$all = $request-all();/ 只从查询字符串中获取输入数据$name = $request-query(name);/ 获取请求路径$uri = $request-path();2.2.3 接收用户输入多学一招:Request实例的更多用法/ 获取请求的URL$url = $request-url();/ 获取请求方式$method = $request-method();/ 判断请求方式if ($request-isMethod(post) / 当前是POST方式/ 判断是否存在输入值if ($request-has(name) / 存在name视图2.32.3.1 创建视图文件 先定一个小目标!掌握视图文件的创建,能够独立完成视图文件的创建2.3.1 创建视图文件.blade.php视图文件表示使用Blade模板引擎,支持模板语法和PHP原生语法。如 $title 和。如果存在同名的“.blade.php”和“.php”文件时,优先使用前者。.php表示不使用模板引擎,只支持PHP原生语法。视图文件的命名:2.3.1 创建视图文件视图文件的使用:创建resourcesviewsshow.blade.php文件。 Document 当前显示的视图文件是show.blade.php 2.3.1 创建视图文件视图文件的使用:在控制器中加载视图文件。public function show() / 加载视图文件resourcesviewsshow.blade.php return view(show);添加路由:Route:get(test/show, TestControllershow);2.3.1 创建视图文件视图文件的使用:通过浏览器访问运行结果。视图名称前添加路径:两种写法都用于加载resourcesviewhometestshow.blade.php。return view(home/test/show);/ 写法1,用“/”分隔return view(home.test.show);/ 写法2,用“.”分隔2.3.2 向视图传递数据 先定一个小目标!掌握向视图文件传递数据的方法,能够利用相关方法完成视图数据的传递2.3.2 向视图传递数据使用view()函数或with()函数为视图传递数据,示例代码:/ 方式1:通过view()函数的第2个参数传递数据return view(模板文件, 数组);/ 方式2:通过with()函数传递数据return view(模板文件)-with(数组);/ 方式3:通过连续调用with()函数传递数据return view(模板文件)-with(名称, 值)-with(名称, 值)2.3.2 向视图传递数据向视图传递数据,示例代码:public function show() $data = content = 文本内容 ; return view(show, $data);控制器 $content 视图2.3.2 向视图传递数据多学一招:compact()函数compact()函数将多个变量打包成一个数组,其参数是要打包的变量名,返回打包后的数组。public function show() $content = 文本内容; $arr = 1, 2; $data = compact(content, arr); return view(show, $data);控制器 $content implode(, $arr) 视图2.3.3 视图数据的处理 先定一个小目标!掌握视图数据的处理,能够对视图中的数据进行处理2.3.3 视图数据的处理1. 特殊字符转义Blade模板引擎在输出字符串时,会自动进行HTML特殊字符的转义。return view(show)-with(content, 加粗);如果禁止Blade自动转义,在变量输出时使用! $content !。2.3.3 视图数据的处理2. 通过函数对数据进行处理在视图中输出数据时,可以通过函数来对数据进行处理。return view(show)-with(time, time();视图 当前时间是: date(Y-m-d H:i:s, $time) 控制器2.3.4 循环操作 先定一个小目标!掌握循环操作,能够在视图文件中正确使用循环语句输出数据2.3.4 循环操作在视图中输出数组时,使用“foreach”模板语法实现.语法格式:foreach ($variable as $key = $value)/ 循环体endforeach2.3.4 循环操作循环语句的使用:public function show() $data = array(id = 1, name = Tom, id = 2, name = Andy); return view(show, data = $data);视图 循环操作 foreach ($data as $v) $vid - $vname endforeach控制器2.3.5 判断操作 先定一个小目标!掌握判断操作,能够在视图文件中正确使用判断语句2.3.5 判断操作使用“if”模板语法进行判断操作,语法格式:if (条件表达式1) / 语句1elseif (条件表达式2) / 语句2elseif (条件表达式3) / 语句3else / 以上条件都不满足时执行的语句endif2.3.5 判断操作判断语句的使用:public function show() $week = date(N);/ 获取今天是星期几(17) return view(show, week = $week);控制器2.3.5 判断操作判断语句的使用:视图 判断操作 今天是: if ($week = 1) 星期一 elseif ($week = 2) 星期二 (此处读者可以添加更多判断) elseif ($week = 7) 星期日 endif2.3.6 模板继承 先定一个小目标!掌握模板继承,能够独立完成模板的继承操作2.3.6 模板继承为什么使用模板继承:在一个网站中会有很多相似的页面,这些相似的页面需要编写重复的代码,为了让重复的代码只写一次,可以利用模板继承实现。什么是模板继承:将一个完整页面中的公共部分放在父页面中,将不同的部分放在不同的子页面中,子页面可以继承父页面来获得完整的页面