Laravel的Blade模板引擎:不会在限制在视图中显示原生的php代码
模板继承:
resources/views/layouts/index.blade.php模板:
<html>
<head>
<!--这里是一个单行占位-->
<title>应用程序名称 @yield('title',"默认标题")</title>
</head>
<body>
<!--这里是一个区块占位-->
@section('sidebar')
这是 master 的侧边栏。
@show
<div class="container">
@yield('content')
</div>
</body>
</html>
resources/views/child.blade.php子模板:
//继承公共模板内容
@extends('layouts/index')
//替换单行占位的内容
//@section('title', '主页')
//@endsection
@section('title')
主页
@endsection
//替换区块占位的sidebar内容
@section('sidebar')
这是主页侧边栏
@stop
@extends(‘layouts/index’) //子模板继承公共模板内容,layouts/index父模板路径
@include(“index”) //引入子视图
@yield(‘title’,“默认标题”) //设置title的默认值为默认标题,其他子模板用 @section(‘title’, ‘主页’)@endsection 或 @section(‘title’)主页@endsection继承,把title标题改为主页
@section(‘sidebar’) 这是 master 的侧边栏 @show //设置sidebar的默认内容为这是 master 的侧边栏 ,在子模板中用**@section(‘sidebar’) 这是主页侧边栏 @stop**把sidebar的默认内容改为这是主页的侧边栏。要保留默认内容 这是 master 的侧边栏 可以用@parent @section(‘sidebar’) @parent这是主页侧边栏 @stop。 注意@show还是@stop
控制器内容在模板中显示:
控制器secController下:
class secController extends Controller
{
public function index(){
$name = "lili";
$arr = ['lisi','aali'];
return view('admin.section',[ //'section'返回视图模板为admin后台目录的section.blade.php,并给name和arr值
'name'=>$name,
'arr'=>$arr
]);
}
模板section.blade.php下:
<html>
{{ $name }} //输出控制器传过来的name值
{{ var_dump($arr) }} //直接输入控制器传过来的arr值
<ul> //循环遍历输出控制器传过来的arr值
@for($i=0;$i<count($arr);$i++)
<li>{{ $arr[$i] }} </li>
@endfor
</ul>
</html>
模板循环语句:
if语句:
@if (count($records) === 1)
我有一条记录!
@elseif (count($records) > 1)
我有多条记录!
@else
我没有任何记录!
@endif
switch语句:
@switch($i)
@case(1)
First case...
@break
@case(2)
Second case...
@break
@default
Default case...
@endswitch
循环结构:
@for ($i = 0; $i < 10; $i++)
目前的值为 {{ $i }}
@endfor
@foreach ($users as $user)
<p>此用户为 {{ $user->id }}</p>
@endforeach
@while (true)
<p>死循环了。</p>
@endwhile
特殊的流程控制语句:
@foreach ($users as $user)
@if ($user->type == 1)
@continue //跳过当前层遍历
@endif
<li>{{ $user->name }}</li>
@if ($user->number == 5)
@break //终止遍历
@endif
@endforeach
另外一种语法结构:
@foreach ($users as $user)
@continue($user->type == 1) //直接将条件放到括号
<li>{{ $user->name }}</li>
@break($user->number == 5) //同上
@endforeach
引入静态文件(路径为public/admin/dist/js/jquery.min.js):
<script src="{{ URL::asset('admin/dist/js/jquery.min.js')></script>