PHP - Laravel 视图模板(blade.php) 模板继承(@extends、@yield、@section)

简介: PHP - Laravel 视图模板(blade.php) 模板继承(@extends、@yield、@section)

一、简介

  • 当一个页面的 头部尾部 完全一样,只要中间内容不一致,这个时候需要用到一个头尾公共的模板,然后其他页面多继承于这个公共模板编写中间内容部分即可。
  • 模板引入与使用,及模板使用页面参数
  • 模板继承格式
// components 表示在 views 下面的 components 文件夹
// main 表示在 views/components/main.blade.php 文件
@extends('components.main')

二、简单继承使用

  • 新建一个 main.blade.php 作为公共视图文件
<body>
  @include('components.header')
  页面内容
  @include('components.footer')
</body>
  • 然后新建 header.blade.phpfooter.blade.php 文件
<div>我是头部</div>
<div>我是尾部</div>
  • 然后使用 index.blade.php 继承 main.blade.php 文件


三、@yield 占位符,@section 输出符

  • 根据页面需求自定义公共模板中的内容,例如:页面内容,上面之前是写死内容,现在需要每个页面显示不同类容。
  • main.blade.php 文件
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  {{-- 自定义标题 --}}
  <title>@yield('title')</title>
  {{-- 自定义CSS --}}
  @yield('css')
</head>
<body>
  @include('components.header')
  {{-- 自定义中间内容 --}}
  @yield('content')
  @include('components.footer')
  {{-- 自定义JS --}}
  @yield('js')
</body>
</html>
  • index.blade.php 文件
{{-- 继承 --}}
@extends('components.main')
{{-- 用法一:单标签 --}}
@section('title', 'DzmTest')
{{-- 用法二:双标签 --}}
@section('content')
    <div class="content-view">我是页面内容</div>
@endsection
{{-- css --}}
@section('css')
    <style>
      .content-view {
        color: red
      }
    </style>
@endsection
{{-- js --}}
@section('js')
    <script>
      console.log('DzmTest');
    </script>
@endsection
  • Demo效果


相关文章
|
中间件 PHP 调度
深入浅出PHP框架之Laravel的优雅
【10月更文挑战第3天】在PHP的世界里,Laravel以其优雅和简洁闻名。本文将带你走进Laravel的世界,探索它的魔法。我们将通过代码示例,一步步揭示Laravel的魅力。准备好,让我们一起开始这场奇妙的旅程吧!
|
9月前
|
JSON 自然语言处理 前端开发
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
500 72
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
|
Java PHP 数据安全/隐私保护
PHP 面向对象,构造函数,析构函数,继承,方法的重写,接口抽象类,static,final,this,parent,self的异同和作用
本文详细介绍了PHP面向对象编程的一系列核心概念和用法,包括构造函数、析构函数、继承、方法重写、访问控制、接口、抽象类、静态成员、final关键字、以及this、self、parent这三个关键字的异同和作用。通过具体示例代码,展示了如何在PHP中使用这些面向对象的特性,以及它们在实际开发中的应用。
PHP 面向对象,构造函数,析构函数,继承,方法的重写,接口抽象类,static,final,this,parent,self的异同和作用
|
缓存 安全 PHP
深入浅出PHP框架之Laravel的优雅与实用
【10月更文挑战第22天】在PHP的世界里,Laravel如同一股清流,以其优雅的设计和实用的功能赢得了广大开发者的喜爱。本文将带你走进Laravel的世界,探索其背后的设计哲学,以及如何利用Laravel构建高效、可维护的Web应用。从路由到模型,从控制器到视图,我们将一步步揭开Laravel的神秘面纱。
229 3
|
应用服务中间件 Shell PHP
pbootcms模板报错提示PHP Warning: Unknown: open_basedir restriction
pbootcms模板报错提示PHP Warning: Unknown: open_basedir restriction
|
存储 前端开发 PHP
深入浅出PHP框架之Laravel的优雅
【9月更文挑战第31天】在编程世界里,PHP语言如同一位多才多艺的老匠人,而Laravel框架则是其手中的精工细作。本文将带你领略Laravel的魅力所在,从其优雅的设计哲学到实用的功能特性,再到如何通过实际代码示例掌握它的核心操作。让我们一起探索Laravel的世界,发现编程之美。
168 6
|
前端开发 中间件 PHP
PHP框架深度解析:Laravel的魔力与实战应用####
【10月更文挑战第31天】 本文作为一篇技术深度好文,旨在揭开PHP领域璀璨明星——Laravel框架的神秘面纱。不同于常规摘要的概括性介绍,本文将直接以一段引人入胜的技术剖析开场,随后通过具体代码示例和实战案例,逐步引导读者领略Laravel在简化开发流程、提升代码质量及促进团队协作方面的卓越能力。无论你是PHP初学者渴望深入了解现代开发范式,还是经验丰富的开发者寻求优化项目架构的灵感,本文都将为你提供宝贵的见解与实践指导。 ####
|
前端开发 中间件 PHP
|
缓存 中间件 PHP
Laravel 框架:优雅 PHP Web 开发的典范
【8月更文挑战第31天】
501 0