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效果


相关文章
|
8月前
|
PHP
PHP - Laravel 表单验证错误切换为中文
PHP - Laravel 表单验证错误切换为中文
115 0
|
9天前
|
PHP
PHP面向对象编程精要:接口、抽象类和继承
PHP面向对象编程涉及接口、抽象类和继承。接口定义了类必须实现的方法,抽象类包含抽象方法,不可实例化,而继承允许子类扩展父类属性和行为。通过案例展示了如何使用interface、abstract和extends关键字。这些概念增强了代码的灵活性、可维护性和可扩展性。
13 1
|
3月前
|
开发框架 前端开发 搜索推荐
分享97个框架模板PHP源码,总有一款适合你
分享97个框架模板PHP源码,总有一款适合你
32 2
|
8月前
|
安全 PHP
PHP - Laravel 表单验证(验证规则与使用 $this->validate()、Validator::make()、Requests)
PHP - Laravel 表单验证(验证规则与使用 $this->validate()、Validator::make()、Requests)
153 0
|
8月前
|
PHP
PHP - Laravel Blade模板注释 {{-- 注释 --}} 与 <!-- 注释 --> 的区别
PHP - Laravel Blade模板注释 {{-- 注释 --}} 与 <!-- 注释 --> 的区别
63 0
|
6月前
|
监控 安全 BI
一套医疗安全不良事件管理系统源码(PHP+ vue2+element+ laravel)
不良事件报告管理系统按照不良事件的管理部门不同,分为医疗不良事件、护理不良事件、药品不良反应事件、院内感染事件、输血不良反应事件、医疗器械不良事件、医技相关不良事件、安保后勤不良事件、信息不良事件、费用窗口服务不良事件共10大类事件。
一套医疗安全不良事件管理系统源码(PHP+ vue2+element+ laravel)
|
7月前
|
存储 安全 BI
不良事件管理系统源码,PHP+ vue2+element+ laravel
不良事件上报系统通过 “事前的人员知识培训管理和制度落地促进”、“事中的事件上报和跟进处理”、 以及 “事后的原因分析和工作持续优化”,结合预存上百套已正在使用的模板,帮助医院从对护理事件、药品事件、医疗器械事件、医院感染事件、输血事件、意外事件、职业暴露事件、后勤保障事件、信息安全事件、消防事件、工程事件、质量安全事件等各类不良事件进行管理的软件。 不良事件管理的核心环节在于事件的系统化统计分析,查找根本原因,从而进行改进,因此对不良事件报告系统的统计功能要求较高,并导入现代化的质量管理工具进行科学化分析。事件的统计分析包括系统汇总保存的报告数据,根据系统提供的统计功能,可以方便作出统计报
|
8月前
|
PHP
PHP - Laravel VSCode 自用插件
PHP - Laravel VSCode 自用插件
231 0
|
7月前
|
关系型数据库 MySQL PHP
PHP 原生操作 Mysql
PHP 原生操作 Mysql
81 0
|
7月前
|
关系型数据库 MySQL 数据库连接
PHP 原生连接 Mysql
PHP 原生连接 Mysql
107 0