视图

1.视图写在哪里

在这里插入图片描述
注意:
1.视图可以分目录管理,也有必要分目录管理
2.视图的后缀在larave中一般都是“blade.php”
3.视图的创建无法通过artisan来实现

2.视图文件的命名与渲染

(1)文件名习惯小写(建议小写)
(2)文件名的后缀是“blade.php”(因为larave里面有一些模板引擎就是使用blade,可以直接使用标签语法{{KaTeX parse error: Expected 'EOF', got '}' at position 6: title}̲},也可以使用原生的php语法…title}}语法显示数据,只能使用原生语法<?php echo $title ?>显示数据
两个视图文件同时存在,则。blade.php后缀的优先显示
案例:编写一路由地址,调用Test控制器的test3方法,展示视图test3文件(创建2个,一个以.blade.php结尾,另一个.php结尾)【验证优先级】
创建对应路由:
/test3
在这里插入图片描述
编写控制器方法:
return view(“视图文件的名称”) 不用加后缀
视图可以分目录管理,例如需要展示home/test/test2视图,则可以写成:
return view(“home/test/test2”)当然也支持写法:view(“home test test2”)

展示方法:
在这里插入图片描述
新建两个视图(一个以.blade.php结尾,一个以.php结尾)最终展示的是.blade.php
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.变量分配(assign)与展示

语法:
1.view(模板文件名称、数组)数组就是需要分配的变量集合,数组1是一个简直数组,其键与变量名尽量一致
2.view(模板文件名称)->with(数组)
3.view(模板文件名称)->with(名称、值) ->with(名称、值)…
使用view()fangshi1渲染一个视图后,在
.bade.php的视图文件中,模板中输出变量使用“{{$变量名}}”(变量名就是分配过来数组的键

案例:需要将控制器方法中的时间,(年月日时分秒)数据传递到视图中去,并且输出test3
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.扩展:compact函数使用(传参)

Compact函数,是php内置函数跟larave框架没有关系。作用主要是用语言打包数组的。
语法:compact(‘变量名1’,‘变量名2’,…);
例如:
在这里插入图片描述
结果是一样的:
在这里插入图片描述

5.循环与分支语法标签【重点】

在视图里面便利数据【重点】
在larave中模板中循环输出数据,则需要遵循语法:
在这里插入图片描述
与原始的PHP循环相比:
a.有大括号,则需要去除大括号(不管多少个),然后在当前行前面写上“@”
b.在结束的@后面添加结束标签“endXxxx”
案例:使用循环标签的语法,在视图中输出数据
新建路由:/test4
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
循环标签
在这里插入图片描述
需要注意的是,如果本身data是结果集的话,则循环到的value一般会是一个对象(此时最好不要使用"[]“访问数组的形式进行属性访问,而应该使用” -> "形式)。

//在视图里面可以执行if判断【重点】
if语法在模板引擎中的写法:
在这里插入图片描述
案例:要求在php代码中(控制器的方法)动态的输出今天的星期数字(1-7),将数字传递给视图,显示出今天是星期几,如假设传递得数字是7,则页面中要输出‘星期天’【将数字转化为汉字】
在这里插入图片描述
a.先在控制器中方法中输出当前的星期数字
在这里插入图片描述
b.需要在视图中获取数字,并且通过if判断输出今天的星期汉字
在这里插入图片描述
效果:
在这里插入图片描述
不管是循环还是判断标签,都需要有闭合的“endxxx标记”

6.模板继承/包含【理解】

继承不仅仅在php类中存在,在视图中同样存在。一般是用于做有公共部分的页面。

案例:编写父级页面(父类),在编写一个子页面(子类) (相当于php的两个类)
编写父级页面:
语法:@yield(‘名字’) 在父级页面中的占位,也就是空出可变区域
在这里插入图片描述
在父页面中,头尾是固定的,中间是可变的区域,由于内容不知道是什么,所以通过yield占位,等待子页面去补充(等待子页面重写yield区域)

再去创建子页面和其路由
/test5
在这里插入图片描述
创建视图child(只展示可变区域
在这里插入图片描述
视图正文内容:
在这里插入图片描述
继承语法:
子模版中按一下语法书写:
@entends(‘需要继承的模板文件名’)其名称要是完整的路径,类似view视图路径
通过section标签绑定区块/部件到父级页面,区块名称就是腹肌页面yield标签的参数名

@section(‘区块名称’)
代码
@endsection

显示效果:
在这里插入图片描述
模板包含:
语法:@include(‘模板文件名’) 文件名不含后缀,语法类似view方法参数
在这里插入图片描述
注意:在引入模板文件的时候一般引入的是纯静态的模板,当引入的模板中有变量的话非常容易出错,一般不推荐

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值