laravel blade模板介绍_html/css_WEB-ITnose

php中文网
发布: 2016-06-21 08:48:54
原创
2018人浏览过

首先设定一个路由,路由指向了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这个文件夹,默认指定了这里是存放视图的地方

AiPPT模板广场
AiPPT模板广场

AiPPT模板广场-PPT模板-word文档模板-excel表格模板

AiPPT模板广场 147
查看详情 AiPPT模板广场

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>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>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>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模板介绍

HTML速学教程(入门课程)
HTML速学教程(入门课程)

HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号