Laravel视图操作

一:视图案例

视图在站点中的位置:resources/views
视图的命名:XXXX.blade.php(blade是框架模板引擎)

路由写法(web.php):

 Route::match(['get'],'index2', 'Home\IndexController@index');

控制器写法:

    //展示视图
    public function index2(){
        return view("Home/test/index2");
        //view("Home.test.index2");同等
    }

视图写法

首先在resources\views\Home\test下创建index.blade.php文件

<?php

?>
<!DOCTYPE html>
<html>
<head>
	<title></title>
</head>
<body>
	<h1>这里是index2.blade.php</h1>
</body>
</html>

浏览器访问:

在这里插入图片描述(ps:如果此时视图路径下存在两个内容完全相同的php文件,其一为index2.blade.php,另一个叫index2.php,系统默认优先找blade.php结尾的文件,假如找不到,那系统再去找index2.php文件,但.php的文件在后续传参的时候操作更复杂一些,所以不推荐使用。)

二:视图变量分配与展示

语法:
view(模板文件名,数组)
view(模板文件名)->with(数组)
view(模板文件名)->(名称,值)->(名称,值)

Controller写法一:

  //index2
    public function index2(){

        //获取时间
        $date = date('Y-m-d H-i-s',time());
        //日期
        $week = "周日";
        //展示视图
        return view("Home.test.index2",['date'=>$date,'week'=>$week]);

    }

Controller写法二:

  //index2
    public function index2(){

        //获取时间
        $date = date('Y-m-d H-i-s',time());
        //日期
        $week = "周日";
        //展示视图
          return view("Home.test.index2",compact('date','week'));

    }

视图写法一:

<?php
?>
<!DOCTYPE html>
<html>
<head>
	<title></title>
</head>
<body>
	<h1>这里是index2.blade.php</h1>
	输出date:{{$date}} 
	<br/>
	输出week:{{$week}}
</body>
</html>

浏览器访问:
在这里插入图片描述

二:在视图中使用函数

页面中使用php函数语法{{函数()}}
strtotime:获取时间戳函数
date:将时间戳转换成时间函数,默认0时区


Controller写法:

   //index2
    public function index2(){

        //获取时间
        $date = date('Y-m-d H-i-s',time());
        //日期
        $week = "周日";
        //获取今天的时间戳
        $time = strtotime('+0 day');

        $result = compact($date,$week);
        //展示视图
        return view("Home.test.index2",compact('date','week','time'));

    }

视图写法:

<?php

?>
<!DOCTYPE html>
<html>
<head>
	<title></title>
</head>
<body>
	<h1>这里是index2.blade.php</h1>
	输出date:{{$date}} 
	<br/>
	输出week:{{$week}}
	<hr/>
	当前时间:{{date('Y-m-d H-i-s',$time)}}
</body>
</html>

浏览器访问:
在这里插入图片描述

三:视图中循环

循环语法:
@foreach(variable as $key => $value)
//循环体
@endforeach

路由写法:

//前台路由写法
Route::group(['prefix'=>'Home/test'], function () {
  
    Route::match(['get'],'index3', 'Home\IndexController@index3');

});

Controller写法:

   //index3
    public function index3(){
        //使用库表
        $db = DB::table('user');
        //查询数据
        $date = $db -> get();
        //数据传给视图
        return view('Home/test/index3',compact('date'));

    }

视图写法:

(如何foreach方法中的key不是必需,则可以省略不写)

<?php?>
<!DOCTYPE html>
<html>
<head>
	<title></title>
</head>
<body>	
id&emsp;username&emsp;password&emsp;age
<br/>
@foreach ($date as  $value) 
	{{$value -> id}}&emsp;{{$value -> username}}&emsp;{{$value -> password}}&emsp;{{$value -> age}}<br/>
@endforeach
</body>
</html>

浏览器访问:

在这里插入图片描述

数据库:
在这里插入图片描述

四:视图中判断

语法:if,elseif前加个@,结束用@endif


(这里还是用原来的路由和Controller)

Controller增加:

  //index3
    public function index3(){
        //使用库表
        $db = DB::table('user');
        //查询数据
        $date = $db -> get();
        //获取今天星期数字
        $day = date('N');
        //数据传给视图
        return view('Home/test/index3',compact('date','day'));
    }


视图写法:

<?php?>
<!DOCTYPE html>
<html>
<head>
	<title></title>
</head>
<body>
<!---->
id&emsp;username&emsp;password&emsp;age
<br/>
@foreach ($date as  $value) 
	{{$value -> id}}&emsp;{{$value -> username}}&emsp;{{$value -> password}}&emsp;{{$value -> age}}<br/>
@endforeach
<hr/>
今天是星期
@if($day == '1')
一
@elseif($day == '2')
二
@elseif($day == '3')
三
@elseif($day == '4')
四
@elseif($day == '5')
五
@elseif($day == '6')
六
@else
日
@endif
</body>
</html>

浏览器访问:


在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Deeeelete

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值