Laravel中的模板引擎Blade

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>模板继承@yield(‘title‘)</title>
    <style>
        .header{
            width: 1000px;
            height:150px;
            margin: 0 auto;
            background: #f5f5f5;
            border: 1px solid #dddddd;
        }
        .main{
            width: 1000px;
            height:300px;
            margin: 0 auto;
            margin-top: 15px;
            clear:both;
        }
        .main .sidebar{
            float:left;
            width:20%;
            height:inherit;
            background: #f5f5f5;
            border:1px solid #ddd;
        }
        .main .content{
            float: right;
            width: 75%;
            height: inherit;
            background: #f5f5f5;
            border:1px solid #ddd;
        }
        .footer{
            width:1000px;
            height:150px;
            margin: 0 auto;
            margin-top:15px;
            background: #f5f5f5;
            border:1px solid #ddd;
        }
    </style>
</head>
<body>
<div class="header">
    @section(‘header‘)
    头部
    @show
</div>
<div class="main">
    <div class="sidebar">
        <!--section是用来定义一个视图片段的-->
        @section(‘sidebar‘)
        侧边栏
        @show
    </div>
    <div class="content">
        <!--yield表示某个指定section所要显示的内容,可以想象成一个占位符-->
        @yield(‘content‘,‘主要内容区域‘)
    </div>
</div>
<div class="footer">
    @section(‘footer‘)
    底部
    @show
</div>
</body>
</html>

  

@extends(‘layouts‘)

@section(‘header‘)
    @parent
    header
@stop

@section(‘sidebar‘)
    sidebar
@stop

@section(‘content‘)
    content
    <!--模板中输出PHP变量-->
    <p>{{$name}}</p>

    <!--模板中调用php代码-->
    <p>{{time()}}</p>
    <p>{{date(‘Y-m-d H:i:s‘,time())}}</p>
    <p>{{in_array($name,$arr)?‘true‘:‘false‘}}</p>
    <p>{{var_dump($arr)}}</p>
    <p>{{isset($name)?$name:‘default‘}}</p>
    <p>{{$name or ‘default‘}}</p>

    <!--原样输出-->
    <p>@{{ $name }}</p>

    <!--模板中的注释-->

    <!--引入子视图include-->
    @include(‘user.common1‘,[‘message‘=>‘这里是错误信息‘])

    <!--流程控制-->
    @if($name==‘yxh‘)
        I‘m yxh
    @elseif($name==‘imooc‘)
        I‘m imooc
    @else
        who am I?
    @endif

    @if(in_array($name,$arr))
        true
    @else
        false
    @endif

    @unless($name!=‘yxh‘)
        I‘m yxh;
    @endunless

    @for($i=0;$i<3;$i++)
        {{$i}}
    @endfor

    {{[email protected]($user as $user)--}}
        {{--{{$user->username}}--}}
    {{[email protected]}}

    @forelse($user as $user)
        {{$user->username}}
    @empty
        null
    @endforelse

    <a href="{{url(‘url‘)}}">url()</a>
    <a href="{{action(‘[email protected]‘)}}">action()</a>
    <a href="{{route(‘url‘)}}">route()</a>

@stop

  

<p>这里是include{{$message}}</p>

  

    public function section1(){
        $name = ‘yxh‘;
        $arr = [‘yxh‘,‘imooc‘];
        $user = Admin::get();
        return view(‘user.section1‘,[
            ‘name‘=>$name,
            ‘arr‘ =>$arr,
            ‘user‘=>$user
        ]);
    }

    public function urlTest(){
        return ‘urlTest‘;
    }

  

时间: 2024-08-09 10:28:47

Laravel中的模板引擎Blade的相关文章

laravel使用的模板引擎 blade

使用blade引擎的话必须在控制器中使用use   Blade 模板文件使用“模板名”+.blade.php结尾. 如home.blade.php 在模板中调用数组数据进行循环: 结果如下:

Laravel 模板引擎Blade中标签详细介绍

这篇文章主要介绍了Laravel模板引擎Blade中section的一些标签的区别介绍,需要的朋友可以来看看. Laravel 框架中的Blade模板引擎很好用,但是官方文档介绍的并不详细,我接下来将详细的介绍下: @yield与@section 首先,@yield是不可拓展的,如果你要定义的部分没有默认内容让子模版扩展,那么用@yield($name,$default)的形式会比较方便,如果你在子模版中并没有指定这个区块的内容,它就会显示默认内容,如果定义了,就会显示你定义的内容. 与之比较,

Laravel模板引擎Blade中section的一些标签的区别介绍

Laravel 框架中的 Blade 模板引擎,很好用,但是在官方文档中有关 Blade 的介绍并不详细,有些东西没有写出来,而有些则是没有说清楚.比如,使用中可能会遇到这样的问题: [email protected] 和 @section 都可以预定义可替代的区块,这两者有什么区别呢?[email protected] 可以用 @show, @stop, @overwrite 以及 @append 来结束,这三者又有什么区别呢? 本文试对这些问题做一个比较浅显但是直观的介绍. @yield 与

在Express中使用模板引擎

定义模板引擎 var app = express(); app.set('views', './views'); // 指定模板文件存放位置 app.set('view engine', 'jade') // 设置默认的模板引擎 注册指定扩展名的模板引擎: app.engine('jade', require('jade')._express ) 注意: _express函数是许多模板引擎提供的回调函数.但是这个函数只能在默认的文件扩展名上工作.但是,有种情况我们使用的不是对应模板引擎的扩展名的

springboot中添加模板引擎freemarker和thymeleaf

freemarkder和thymeleaf都是java的模板引擎,这里只介绍这两种模板引擎如何在sprongboot中配置: 1. freemarkder 1.1 在pom.xml中添加依赖包 <!-- 集成freemarker --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</ar

nodejs学习(二) ---- express中使用模板引擎jade

系列教程,上一节教程  express+nodejs快速创建一个项目 在创建一个项目后,views目录下的文件后缀为 .jade . 打开 index.jade,具体内容如下图(忽略 header.jade 和 footer.jade,下面教程会一步步创建) 页面解析出的样子如下图.完全是html标签 一.jade 模板引擎 介绍 模板引擎是一个库,或者一个使用一定的规则或者语言来解释数据并渲染视图的框架.模板引擎处理过的最终结果是一个视图页面,也就是html页面或者用户图形界面GUI.在MVC

JavaScript中template模板引擎

template.js 一款 JavaScript 模板引擎,简单,好用.提供一套模板语法,用户可以写一个模板区块,每次根据传入的数据,生成对应数据产生的HTML片段,渲染不同的效果. 1.特性 (1).性能卓越,执行速度通常是 Mustache 与 tmpl 的 20 多倍(性能测试)(2).支持运行时调试,可精确定位异常模板所在语句(演示) (3).对 NodeJS Express 友好支持(4).安全,默认对输出进行转义.在沙箱中运行编译后的代码(Node版本可以安全执行用户上传的模板)

flask中jinjia2模板引擎的使用详解3

接上文 模板继承 Jinji2中的模板继承是jinjia2比较强大的功能之一. 模板继承可以定义一个父级公共的模板,把同一类的模板框架定义出来共享. 这样做一方面可以提取共享代码,减少代码冗余和重复的工作量 另一方面,对于后期的维护和管理也非常方便. 一个根模板(或叫基模板)主要有三部分组成: 一是公共的js,css等资源文件的引用, 二是定义好一个布局框架, 三是定义子模板可以重写的部分(block) 下面我们以一个例子来说明模板继承的使用方法 1. 创建一个基模板 选中templates文件

PHP中面向对象中的模板引擎类

<?php /** * 模版引擎类 */ class Tpl { //缓存目录 protected $cacheDir = './Cache/'; //模版目录 protected $tplDir = './Tpl/'; //保存变量的成员方法 protected $vars = []; //缓存有效期 protected $cacheLifeTime = 3600; //初始化成员属性 public function __construct($tplDir = null ,$cacheDir