1.1 视图位置

image.png

1.2 视图文件名称和渲染

  1. 文件名称建议小写

image.png
2.文件后缀为 .blade.php (.php与.blade.php同时存在时优先.blade.php显示
因为laravel里面有一套blade引擎,可以直接使用标签语法{{ $title }},也可以使用原生语法
<?php echo $title; ?>, .php结尾文件只能用原生语法
视图可以进行分目录管理的,例如需要展示home/Index/index视图,则可以写成:

  1. return view(‘home/Index/index’)
  2. //支持点写语法
  3. return view(‘home.Index.index’)

1.3 变量的分配与展示

控制器:

$name = '小哈';
$nows = ['username'=>'小米手机','many'=>14];
$data = compact('nows','name');
return view('admin.cart.list',$data);

视图:
image.png

1.4 循环与分支语法标签

1. @foreach遍历 @if条件语句

//$now是多个数组才能进行遍历
@foreach($now as $v)
        商品名称{{ $v['username'] }}
        商品价格{{ $v['many']}}
        @if($v['tone'] == 0)
            上架
        @else
            下架
        @endif
        <br>
    @endforeach

2.@forelse (条件成立则遍历,条件不成立则执行empty 下的语句)

//当$now 为空时自动执行empty里面的内容
@forelse ($now as $v)
    商品名称{{ $v['username'] }}
    商品价格{{ $v['many']}}
    @if($v['tone'] == 0)
        上架
    @else
        下架
    @endif
    <br>
@empty
    没有商品
@endforelse

1.5.模板继承/包含

首先,我们来研究一个「主」页面布局。因为大多数web应用会在不同的页面中使用相同的布局方式,因此可以很方便地定义单个Blade布局视图:
@yield占位
@section(” “)替换的内容 @endsection来替换指定内容

1.包含 (一般用于公共部分的头尾部分)

@include('head',['title'=>$title]) //引入的公共头部文件  可以设置每个页面的标题
我是中间内容
@include('bottom') // 引入的公共底部文件

2.继承 (一般用于公共部分的页面)

image.png
模板文件:

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>{{$title}}</title>
</head>
<body>
    @yield('count')  //站位符
</body>
</html>

继承文件:
在模板文件中,可以在模板需要被替换的地方放上@yield(’’ ‘’)作为站位符,
在继承文件中用 @section(” “)替换的内容 @endsection来替换指定内容
image.png

1.6 引入静态资源

1 . 在/config目录中配置一个staticfiles.php 名字根据个人喜好即可
2.根据自己的项目路径来配置这些常量的值
image.png
新建文件中:

<?php
return[
// 前台静态文件存放目录
 define('_CSS_',  '/static/home/css'); 
define('_JS_',   '/static/home/js'); 
define('_IMGS_', '/static/home/images'); 
// 插件存放目 
define('PLUGINS', '/static/plugins'); 
// 后台静态文件存放目录 
define('ADMIN_CSS',  '/static/admin/css'); 
define('ADMIN_JS',   '/static/admin/js'); 
define('ADMIN_IMGS', '/static/admin/images'); 
// 文件上传目录 
define('UPLOADS', '/uploads'); 
];

注意:如果上述文件内容(设置的常量)不能生效。可尝试 将其内容放置于 return[ ]; 中包裹输出后重试
模板中:

<link rel="stylesheet" href="{{(_CSS_.'/index.css')}}">  //相对路径
// 等价于 
<link rel="stylesheet" href="{{asset(_CSS_.'/index.css')}}"> //绝对路径