4.laravelフレームにおけるBladeテンプレートエンジンについて

23069 ワード

公式ドキュメントの概要
BladeはLaravelが提供する簡単で強力なテンプレートエンジンです.他のポピュラーなPHPテンプレートエンジンとは異なり、BladeはビューでオリジナルのPHPコードを使用することを制限しません.すべてのBladeビューファイルは、元のPHPコードにコンパイルされ、キャッシュされます.変更されない限り、再コンパイルされません.これは、Bladeがアプリケーションに追加の負担をかけないことを意味します.Bladeビューファイルの使用  .blade.php  拡張子は、一般的にresources/viewsに格納されます. 目次.
1.テンプレート継承:section、yield、extends、parent
例:1.ビューテンプレートを作成します.
<html>
<head>
    <title>Testtitle>
    <style>
        .header{
            width : 1000px;
            height: 150px;
            margin: 0 auto;
            background: #f5f5f5;
            border: 1px solid #dddddd;
        }
        .main{
            width : 1000px;
            height: 300px;
            margin: 0 auto;
            margin-top: 15px;
            clear: both;
        }
        .main .sidebar{
            float: left;
            width: 20%;
            height: inherit;
            background: #f5f5f5;
            border: 1px solid #dddddd;
        }
        .main .content{
            float: right;
            width: 75%;
            height: inherit;
            background: #f5f5f5;
            border: 1px solid #dddddd;
        }
        .footer{
            width: 1000px;
            height: 150px;
            margin: 0 auto;
            margin-top: 15px;
            background: #f5f5f5;
            border: 1px solid #dddddd;
        }
    style>
head>
<body>
<div class = "header">
    @section('header')
    This is Headers
    @show
div>
<div class="main">
    <div class="sidebar">
        @section('sidebar')
        This is sidebar
        @show
    div>
    <div class="content">
        @yield('content','This is content')
    div>
div>
<div class="footer">
    @section('footer')
    This is footer
    @show
div>

body>
html>
  ,@section   @yield     
@section               ,              ,  @parent               
@yield        ,      ,        ,     ,          ,  @parent     。

           
@extends('Test')
@section('header')
    @parent  //@parent,        
            //        
@stop

@section('sidebar')
       
@stop

@section('content')
            yield,  @parent@stop

@section('footer')
    @parent
      
@stop
     php  
 
  
//     php  
 
  
@section('content')
  <p>{{$name}}p>

  //     PHP  
  <p>{{time()}}p>
  <p>{{date('Y-m-d h:i:s',time())}}p>
{{--  

{{var_dump($arr)}}

--}}
//inarray <p>{{ in_array($name,$arr)? 'ture':'false' }}p> //isset or , <p>{{ isset($name)? $name :'default' }}p> <p>{{ $name or 'test' }}p> // , @ <p>@{{$name}}p> <p>p>{{-- --}} // @include('test.play',['massige'=>' '])
<p>This is a page {{$massige}}p>
 
  
@stop
 
  
        :if、unless、for、foreach
unless   if  , :if($name=='zhoupeng_L')==unless($name!='zhoupeng_L')
@if($name == 'zhoupeng_L')
    I'm zhoupeng_L
@elseif($name == 'shuting_H')
    I'm shuting_H
@else
    who am i?
@endif
 
  
    @+    ,@end+    
 
  
foreach      forelse,  
@forelse($students as $student)
   

{{$student->name}}

@empty
   

null

@endforelse
 
  
 
  
 
  
    URL:url()、action()、route()
<br>
<a href="{{url('urltest')}}">url  url    a>
<br>
<a href="{{action('StudentController@urltest')}}">action     +     a>
<br>
<a href="{{route('url')}}">route    a>
Route::any('/urltest',['as'=>'url','uses'=>'StudentController@urltest']);