Table of Contents
hello i am test
Home Web Front-end HTML Tutorial laravel blade模板介绍_html/css_WEB-ITnose

laravel blade模板介绍_html/css_WEB-ITnose

Jun 21, 2016 am 08:48 AM

首先设定一个路由,路由指向了sitecontroller的test方法,这样的话,就能在url中访问这个url去到达我们想要到达的页面。app/Http/routes.php

Route::get('/test','SiteController@test');//这里我们要访问/test这个url
Copy after login

controller依然是那个controller,不过现在只有一个test访问,因为我们要测试的这个方法app/Http/Controllers/SiteController.php

class SiteController extends Controller{    public function test(){        return view('test');        //这里要显示的视图是test.blade.php    }}
Copy after login

这里是一个模板中的模板文件,可以理解为一个背景,或者一个大模板,这个模板文件的作用是将所有共性的html文件代码统一到一个文件,然后在这个文件里面插入差异性的html代码,

app/resourc/views/layout/app.blade.php

这里有几个意思:

1.laravel默认能读取views这个文件夹,默认指定了这里是存放视图的地方

2.然而layout这个文件夹是用户自己自定义建立的,也可以不建立,只是为了方便区分模板中的模板文件的这种情况,通常会叫做master或者layout

3.这个模板文件也是blade引擎的文件,所以需要blade.php后缀

< !DOCTYPE html><html><head>    <title>Laravel</title>    <!-- 新 Bootstrap 核心 CSS 文件 -->    <link rel="stylesheet" href="//cdn.bootcss.com/bootstrap/3.3.5/css/bootstrap.min.css"/></head><body>    @yield('content') //yield是区域,这里就是代表在当前这个位置,是一个名叫content的区域,这是blade引擎的特殊语法</body></html>
Copy after login

这个是差异性文件app/resourc/views/test.blade.php

@extends('layout.app')//extends就好像php的那个extends继承,这里也差不多意思,继承自某个文件,而layout.app是代表了layout这个目录下面的app.blade.php文件,因为laravel默认指定了views作为根目录,所以可以直接写相对路径@section('content') //section意思就是区块,这个区块跟之前的@yield区域遥相呼应,这里的意思是继承了模板中的模板layout.app之后,我知道了一个区域是叫content的,然后我要使用这个区域,所以用section来指定,指定之后,就能在这个范围内写入你需要的代码了。    <h1 id="hello-i-am-test">hello i am test</h1>@stop //要跟一个stop来保持一致性
Copy after login

对于需要做一些复杂的模板继承,或者代码自定义app/resourc/views/layout/app.blade.php

< !DOCTYPE html><html><head>    <title>Laravel</title>    <!-- 新 Bootstrap 核心 CSS 文件 -->    <link rel="stylesheet" href="//cdn.bootcss.com/bootstrap/3.3.5/css/bootstrap.min.css"/></head><body>@yield('content')@yield(('footer'))  //写多一个@yield,代表多了一个区域</body></html>
Copy after login

app/resourc/views/test.blade.php

@extends('layout.app')@section('content')    <h1 id="hello-i-am-test">hello i am test</h1>@stop@section('footer')  //用的时候也是类似使用    <script>alert('i am alert');</script>@stop
Copy after login

当需要传入变量或者数组的时候app/Http/Controllers/SiteController.php

class SiteController extends Controller{    public function test(){        $people = ['aaa','bbb','ccc'];        return view('test',compact('people')); //用compact将其转为一个包含key和value的数组,key就是people即原来的数组名字,相当于封装了一层。    }}
Copy after login

app/resourc/views/test.blade.php

@extends('layout.app')@section('content')    <h1 id="hello-i-am-test">hello i am test</h1>    <ul>        @foreach($people as $p)//到了视图这边,获取到一个$people的数组,这个是compact封装过的那个people数组,然后进行foreach循环,@foreach也是blade引擎的语法,不过用法跟一般的foreach差不多            <li>{{$p}}</li>        @endforeach    </ul>@stop
Copy after login

本文由 PeterYuan 创作,采用 署名-非商业性使用 2.5 中国大陆 进行许可。 转载、引用前需联系作者,并署名作者且注明文章出处。神一样的少年 » laravel blade模板介绍

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

What is the purpose of the <progress> element? What is the purpose of the <progress> element? Mar 21, 2025 pm 12:34 PM

The article discusses the HTML &lt;progress&gt; element, its purpose, styling, and differences from the &lt;meter&gt; element. The main focus is on using &lt;progress&gt; for task completion and &lt;meter&gt; for stati

Is HTML easy to learn for beginners? Is HTML easy to learn for beginners? Apr 07, 2025 am 12:11 AM

HTML is suitable for beginners because it is simple and easy to learn and can quickly see results. 1) The learning curve of HTML is smooth and easy to get started. 2) Just master the basic tags to start creating web pages. 3) High flexibility and can be used in combination with CSS and JavaScript. 4) Rich learning resources and modern tools support the learning process.

What is the purpose of the <datalist> element? What is the purpose of the <datalist> element? Mar 21, 2025 pm 12:33 PM

The article discusses the HTML &lt;datalist&gt; element, which enhances forms by providing autocomplete suggestions, improving user experience and reducing errors.Character count: 159

What is the viewport meta tag? Why is it important for responsive design? What is the viewport meta tag? Why is it important for responsive design? Mar 20, 2025 pm 05:56 PM

The article discusses the viewport meta tag, essential for responsive web design on mobile devices. It explains how proper use ensures optimal content scaling and user interaction, while misuse can lead to design and accessibility issues.

What is the purpose of the <iframe> tag? What are the security considerations when using it? What is the purpose of the <iframe> tag? What are the security considerations when using it? Mar 20, 2025 pm 06:05 PM

The article discusses the &lt;iframe&gt; tag's purpose in embedding external content into webpages, its common uses, security risks, and alternatives like object tags and APIs.

The Roles of HTML, CSS, and JavaScript: Core Responsibilities The Roles of HTML, CSS, and JavaScript: Core Responsibilities Apr 08, 2025 pm 07:05 PM

HTML defines the web structure, CSS is responsible for style and layout, and JavaScript gives dynamic interaction. The three perform their duties in web development and jointly build a colorful website.

What is the purpose of the <meter> element? What is the purpose of the <meter> element? Mar 21, 2025 pm 12:35 PM

The article discusses the HTML &lt;meter&gt; element, used for displaying scalar or fractional values within a range, and its common applications in web development. It differentiates &lt;meter&gt; from &lt;progress&gt; and ex

Understanding HTML, CSS, and JavaScript: A Beginner's Guide Understanding HTML, CSS, and JavaScript: A Beginner's Guide Apr 12, 2025 am 12:02 AM

WebdevelopmentreliesonHTML,CSS,andJavaScript:1)HTMLstructurescontent,2)CSSstylesit,and3)JavaScriptaddsinteractivity,formingthebasisofmodernwebexperiences.

See all articles