laravel blade模板介绍_html/css_WEB-ITnose
首先设定一个路由,路由指向了sitecontroller的test方法,这样的话,就能在url中访问这个url去到达我们想要到达的页面。app/Http/routes.php
Route::get('/test','SiteController@test');//这里我们要访问/test这个url
controller依然是那个controller,不过现在只有一个test访问,因为我们要测试的这个方法app/Http/Controllers/SiteController.php
class SiteController extends Controller{ public function test(){ return view('test'); //这里要显示的视图是test.blade.php }}
这里是一个模板中的模板文件,可以理解为一个背景,或者一个大模板,这个模板文件的作用是将所有共性的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>
这个是差异性文件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来保持一致性
对于需要做一些复杂的模板继承,或者代码自定义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>
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
当需要传入变量或者数组的时候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即原来的数组名字,相当于封装了一层。 }}
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
本文由 PeterYuan 创作,采用 署名-非商业性使用 2.5 中国大陆 进行许可。 转载、引用前需联系作者,并署名作者且注明文章出处。神一样的少年 » laravel blade模板介绍

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

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

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



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

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.

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

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.

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

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.

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

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