ホームページ > PHPフレームワーク > Laravel > Laravel 5.0 バージョンでのテンプレートの使用法について説明します。

Laravel 5.0 バージョンでのテンプレートの使用法について説明します。

PHPz
リリース: 2023-04-21 10:16:11
オリジナル
648 人が閲覧しました

Laravel は、高品質の Web アプリケーションを迅速に開発するのに役立つ多くの強力な機能とツールを提供する人気のある PHP フレームワークです。重要な機能の 1 つはテンプレート エンジンです。これにより、開発者は美しく再利用可能なページを簡単に作成できます。この記事では、Laravel 5.0 バージョンでのテンプレートの使用法を調査し、いくつかの実用的なヒントと提案を提供します。

Laravel5.0 テンプレート エンジンの基礎

Laravel5.0 は、美しいページを迅速に構築するための一連のテンプレート コンポーネントと構文を提供する Blade テンプレート エンジンを使用します。 Blade テンプレート エンジンには次の特徴があります。

  1. 簡潔な構文: Blade は簡潔な構文を提供し、テンプレート コードを読みやすく、保守しやすくします。
  2. 拡張性: 開発者は、カスタム命令を通じて Blade テンプレート エンジンの機能を拡張できます。
  3. サポート テンプレートの継承: Blade を使用すると、開発者はテンプレートの継承を通じてページ レイアウトとスタイルを再利用できます。

Laravel5.0 テンプレート エンジンの構文

Blade テンプレートの構文では、出力テンプレート変数を示すマークとして「{{}}」を使用します。例:

<h1>{{ $title }}</h1>
ログイン後にコピー

テンプレートでは、「if-else」ステートメント、「foreach」ループ、「include」などの通常の構文を使用して他のテンプレートを含めることができます。例:

@if(count($items) > 0)
    <ul>
    @foreach($items as $item)
        <li>{{ $item }}</li>
    @endforeach
    </ul>
@else
    <p>No items</p>
@endif

@include('partials.footer')
ログイン後にコピー

上の例では、'if-else' ステートメントは items 変数が空かどうかをチェックし、空でない場合は、'foreach' ループを使用して走査し、 '{{}}' を介した変数 HTML に出力します。最後に、「partials.footer」という名前のテンプレートが「@include」ディレクティブによって導入されます。

Laravel5.0 テンプレート エンジンの制御構造

Blade テンプレート エンジンは、より複雑なロジック処理のためのいくつかの制御構造を提供します。以下にいくつかの実際的な制御構造を示します。

  1. @foreach ループ:
@foreach($items as $item)
    <li>{{ $item }}</li>
@endforeach
ログイン後にコピー
    #@for ループ:
  1. @for($i = 0; $i < count($items); $i++)
        <li>{{ $items[$i] }}</li>
    @endfor
    ログイン後にコピー
    @if 条件:
  1. @if(count($items))
        {{ $items[0] }}
    @endif
    ログイン後にコピー
    @unless 条件:
  1. @unless(count($items))
        <p>No items found!</p>
    @endunless
    ログイン後にコピー
    @include テンプレートに含まれるもの:
  1. @include('partials.header')
    ログイン後にコピー
    @extendsTemplate の継承:
  1. @extends('layouts.master')
    
    @section('content')
        <p>This is the body.</p>
    @endsection
    ログイン後にコピー
上記の例では、「@extends」はテンプレートによって継承されるレイアウトを指定し、「@section」はテンプレート内のコンテンツ ブロックを定義します。親テンプレートのコンテンツ ブロックは、「@yield」ディレクティブを使用して子テンプレートにレンダリングされます。

Laravel5.0 テンプレート レイアウトの継承

Blade テンプレート エンジンを使用すると、開発者はレイアウト継承を使用してページをレイアウトできます。メイン レイアウト (マスター レイアウトと呼ばれる) とサブレイアウト (子レイアウトと呼ばれる) を定義することにより、サブレイアウトでメイン レイアウトを拡張し、さまざまなセクションのコンテンツ ブロックを定義できます。次の例は、レイアウト継承の作成方法を示しています。

    メイン レイアウト
  1. <!-- resources/views/layouts/master.blade.php -->
    <!DOCTYPE html>
    <html>
        <head>
            <title>@yield('title')</title>
            <link href="/css/app.css" rel="stylesheet">
        </head>
        <body>
            @yield('content')
        </body>
    </html>
    ログイン後にコピー
    子レイアウト
  1. <!-- resources/views/layouts/child.blade.php -->
    @extends('layouts.master')
    
    @section('title', 'My Home Page')
    
    @section('content')
        <p>This will be displayed in the body.</p>
    @endsection
    ログイン後にコピー
上記の例では、 , 子レイアウトはメインレイアウトを継承し、「コンテンツ」と呼ばれるセクションを定義します。メインレイアウトで「@yield」ディレクティブを使用すると、セクションの位置とコンテンツを指定できます。サブレイアウトでは、「@section」ディレクティブを使用してそのセクションのコンテンツを入力します。

Laravel5.0 テンプレートのエラー処理

Web アプリケーションを開発する場合、エラー処理は非常に重要です。 Laravel5.0のテンプレートエンジンにより、ページ上のエラーを簡単に処理できます。ここでは、実践的なエラー処理のヒントをいくつか示します:

    変数が存在するかどうかを確認します:
  1. {{ $foo or 'default' }}
    ログイン後にコピー
    ログイン後にコピー
上記の例では、$foo 変数が次の場合にデフォルト値が表示されます。未定義の「デフォルト」。

    式が true かどうかを確認します:
  1. {{ $foo ? 'yes' : 'no' }}
    ログイン後にコピー
上記の例では、$foo 変数が true の場合は「yes」が表示され、それ以外の場合は「no」が表示されます。 ' 。

    一部の変数が未定義の場合は、デフォルト値を使用します:
  1. {{ $foo or 'default' }}
    ログイン後にコピー
    ログイン後にコピー
上記の例では、$foo 変数が未定義の場合、デフォルト値「default」が使用されます。利用される 。

    フォーム エラーの確認:
  1. @if(count($errors))
        <div class="alert alert-danger">
            <ul>
            @foreach($errors->all() as $error)
                <li>{{ $error }}</li>
            @endforeach
            </ul>
        </div>
    @endif
    ログイン後にコピー
上記の例では、@if ステートメントを使用して、$errors 変数が空かどうかを確認します。エラーが存在する場合は、「@foreach」ディレクティブを介してエラー メッセージが出力されます。

    現在の URL を確認して CSS クラスを追加します:
  1. <li class="{{ Request::is(&#39;home&#39;) ? &#39;active&#39; : &#39;&#39; }}">
        <a href="{{ url(&#39;home&#39;) }}">Home</a>
    </li>
    ログイン後にコピー
上記の例では、「Request::is()」メソッドを使用して、現在の URL が正しいかどうかを確認します。 'home' です。はいの場合は、CSS クラス 'active' を追加します。

概要

Laravel5.0 では、テンプレート エンジンは非常に重要な機能であり、大規模な Web アプリケーションを開発するための便利なツールです。この記事では、Blade テンプレート エンジンの基本的な構文と一般的なテクニックを紹介します。 Laravel5.0 の学習を始めたばかりの場合は、Blade テンプレート エンジンを徹底的に学習して実践することを強くお勧めします。 Web アプリケーションを開発する際に、より使いやすく、より速く、より柔軟になります。

以上がLaravel 5.0 バージョンでのテンプレートの使用法について説明します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート