ホームページ  >  記事  >  ウェブフロントエンド  >  laravelブレードの紹介 template_html/css_WEB-ITnose

laravelブレードの紹介 template_html/css_WEB-ITnose

WBOY
WBOYオリジナル
2016-06-21 08:48:541885ブラウズ

まず、サイトコントローラーのテストメソッドを指すルートを設定します。この場合、URL 内でこの URL にアクセスして、到達したいページに到達できます。 app/Http/routes.php

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

コントローラーは依然として同じコントローラーですが、テストするメソッドは app/Http/Controllers/SiteController.php であるため、テスト アクセスは 1 つだけです。

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

これは、テンプレート内のテンプレート ファイルです。このテンプレート ファイルの機能は、すべての共通の HTML ファイル コードを 1 つのファイルに統合することです。このファイルに差分を挿入します。

app/resource/views/layout/app.blade.php

ここにはいくつかの意味があります:

1.laravel ビューフォルダーはデフォルトで読み取ることができ、これはデフォルトでビューが保存される場所です

2. ただし、レイアウトフォルダーはユーザーによってカスタム作成されるか、カスタム作成されません。この場合、テンプレート ファイルは通常、マスターまたはレイアウト

と呼ばれます。このテンプレート ファイルはブレード エンジン ファイルでもあるため、ブレードが必要です。 php suffix

< !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/resource/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/resource/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/resource/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

この記事は次によって作成されましたPeter Yuan は、表示-非営利 2.5 中国本土ライセンスに基づいてライセンスを取得しています。 転載または引用する前に、著者に連絡し、著者名に署名し、記事の出典を示す必要があります。神のような少年 » laravelブレードテンプレート紹介

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。