首页 > 技术文章 > Laravel 框架 (视图)

ltl11230 2020-04-26 14:56 原文

视图的用途是用来存放应用程序中 HTML 内容,并且能够将你的控制器层与展示层分开。

我们在控制器中使用助手函数view()】来加载视图模板。

* 创建(最好创建目录管理)命名方式:  

新建视图resources/views/XXXX.blade.php

使用blade.php可以使用{{$title}}方法,也可使用PHP原生语法  

如果使用.php只能使用PHP原生语法  

优先展示blade.php文件  

* 展示视图的方法(可以分目录挂你)  

控制器中加载视图;return view('home/test');  

最好,一个控制器对应一个视图文件夹  

return view('home.test');  

* 变量的分配和展示将控制器中的变量分配到view中;  

view(模板文件名称,数组);  

view(模板文件名称)->with(数组);  

view(模板文件名称)->with(名称,值)->with(名称,值)  

* 使用compact方法进行参数传递php内置函数 

compact('变量名1','变量名2'); 返回一个变量名和变量的数组; 如:

$firstname = "Peter";  
$lastname = "Griffin";  
$age = "41";  
$name = array("firstname", "lastname");  
$result = compact($name, "location", "age");//结果:Array ( [firstname]
=> Peter [lastname] => Griffin [age] => 41 )

* 模板中输出变量

{{$变量名}}
例
{{$name}}

* 模板中使用函数{{函数名}}  

函数可以是PHP内置,也可是框架定义的  

* 循环与判断标签

@foreach($arr as $k=>$v)  
  {{$v->id}}   
@endforeach

@if(条件表达式1)  
@elseif(条件表达式2)  
@else  
@endif  

模板继承  

在一个项目中有许多模板文件,它们有一个特点:拥有共同的头部 脚部内容

为了避免相同代码重复开发、维护 造成工作效率低下

可以把共同的头部和脚部内容集中到一个布局文件中,之后各个具体模板文件去继承该布局文件而使用头部和脚步内容。这个过程成为模板继承。

布局文件中相同的代码只维护一份,会大大提升项目开发效率

  * 父级中设置:  

@yield('content','主要内容');-------------占位符  

  * 子模板:  

@extends('需要继承的父级模板');--------------继承  

@section('content');  

@endsection  

 

* 基本使用和include();  

@include('student.common',['aa'=>'asssss']);---引用其他模板,可以传变量

 

* 外部静态文件的引入(js/css/image)  

静态文件放到public下的文件/,使用根目录  

或者使用asset()方法{{asset('css/app.css')}}

CSRF攻击--跨站请求伪造  

CSRF(Cross-site request forgery),中文名称:跨站请求伪造。

跨站请求攻击,简单地说,是攻击者通过一些技术手段欺骗用户的浏览器去访问一个自己曾经认证过的网站并执行一些操作(如发邮件,发消息,甚至财产操作如转账和购买商品)。由于浏览器曾经认证过,所以被访问的网站会认为是真正的用户操作而去执行。

推荐阅读