视图文件的命名与渲染
1.文件名习惯小写(建议小写)
2.文件名的后缀是 balde.php (因为laravel里面有一套模板引擎就是使用blade,可以直接使用标签语法 {{$title}} ,也可以使用原生的php语法显示数据)。
3.需要注意的是也可以使用 .php 结尾,但是这样的话就不能使用laravel提供的标签 {{$title}} 语法显示数据,只能使用原生的语法 <?php echo $title?> 显示数据。两个视图文件同时存在,则blade.php后缀的优先显示
案例:编写一路由地址,调用控制器的test3方法战术,展示视图test3文件(创建2个)
变量分配与展示
语法
//第一种方法
view(模板文件名称,数组); //数组就是需要分配的变量集合,是一个键值数组
//第二种方法
view(模板文件名称)->with(数组);
//第三种方法
view(模板文件名称)->with(名称,值)->with(名称,值);
使用view方法渲染一个视图后,在blade.php的视图文件中,模板输出变量使用{{$变量名}},变量名就是分配过来数组的键。
扩展:compact函数使用(传参)
compact函数,是PHP内置函数跟laravel框架没有任何关系,主要作用是用于打包数组的。
//语法格式
compact('变量名','变量名')
return('home.test.test3',compact( date,day ) );
模板中直接使用函数
回顾:在smarty模板引擎中存在一个特殊的符号,“|” ,名称称之为变量修饰符。作用就是在视图中解释变量(使用函数去处理变量)。
在laravel中,视图调用函数其语法基本与js、PHP的语法一致,只不过左右包含大括号
{{函数名(参数1,参数2.。。)}}
案例:在数据库中一般存储时间都是以时间戳去存储的,但是在页面上展示的时候不适合使用时间戳了。需要在展示的时候再对其进行格式话处理,如需在视图中进行对其格式化则如何写?(100%)
循环与分支语法标签【重点】
//在视图里面遍历数据【重点】
//在laravel中模板中循环输出数据,则需要遵循语法
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FvagAXLN-1586602608182)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20200324102159717.png)]
案例:使用循环标签的语法,在视图中输出数据
(1)定义路由
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-y0nvLgPQ-1586602608183)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20200324102556053.png)]
(2)定义test4方法
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-m2QZoZxe-1586602608183)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20200324102825632.png)]
(3)创建视图文件
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-z1hxLYhU-1586602608184)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20200324104034125.png)]
//在视图中可以使用if判断
//if语法在模板引擎中的写法:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-orNTT0vC-1586602608184)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20200324104627332.png)]
案例:要求在PHP代码中(控制器的方法)动态输出今天的星期数字(1-7),将数字传递给视图,显示出今天是星期几,如假设传递的数字是7,则页面中要输出 “星期天” 【将数字转化成汉字】
1.控制器代码
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-F1GhzhXP-1586602608184)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20200324105835020.png)]
2.在视图中进行相关的判断
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3S88ebnn-1586602608185)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20200324110358670.png)]
模板的继承/包含【理解】
继承不仅仅在PHP类中存在,在视图中同样存在,一般用于做公共部分的页面
案例:编写父级页面,在编写一个子页面(相当于PHP中的两个)
编写父级页面
//语法
@yieId('名字') //在父级页面中的占位
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UP3WPk50-1586602608185)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20200324111923840.png)]
2.编写子级页面
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Y560lgvi-1586602608185)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20200324112638621.png)]
//继承语法
//字模版中按以下语法书写
@extends('需要继承的模板文件名');
//通过section标签绑定区块/部件到父级页面,区块名称就是父级页面yieId标签的参数名。
@section('区块名称');
//代码
@endsction
外部静态文件引入方式(了解)
在写页面时肯定会引入相关的外部文件(js、css、image),则会设计到路径的问题。
以下面的app.css文件为例,看如何引入改css文件
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HHO3BPFM-1586602608186)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20200324114907818.png)]
以往的引入方式
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wP8dG1E5-1586602608186)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20200324115132560.png)]
laravel中封装了一个方法asset方法
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1Jww27GZ-1586602608186)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20200324115530400.png)]
asset方法中的参数可以是多级目录也可以是单机目录