Rumah >rangka kerja php >Laravel >Bincangkan penggunaan templat dalam versi Laravel 5.0
Laravel ialah rangka kerja PHP popular yang menyediakan banyak ciri dan alatan berkuasa untuk membantu membangunkan aplikasi web berkualiti tinggi dengan cepat. Salah satu ciri penting ialah enjin templat, yang memudahkan pembangun membina halaman yang cantik dan boleh digunakan semula. Artikel ini akan meneroka penggunaan templat dalam versi Laravel 5.0 dan memberikan beberapa petua dan cadangan praktikal.
Asas enjin templat Laravel5.0
Laravel5.0 menggunakan enjin templat Blade, yang menyediakan satu siri komponen templat dan sintaks untuk membantu membina halaman yang cantik dengan pantas. Enjin templat Blade mempunyai ciri-ciri berikut:
Sintaks enjin templat Laravel 5.0
Sintaks templat bilah ditandakan dengan '{{}}', menunjukkan pembolehubah templat output. Contohnya:
<h1>{{ $title }}</h1>
Dalam templat, kita boleh menggunakan sintaks biasa seperti pernyataan 'if-else', gelung 'foreach' dan 'include' untuk memasukkan templat lain. Contohnya:
@if(count($items) > 0) <ul> @foreach($items as $item) <li>{{ $item }}</li> @endforeach </ul> @else <p>No items</p> @endif @include('partials.footer')
Dalam contoh di atas, pernyataan 'if-else' menyemak sama ada pembolehubah item kosong Jika ia tidak kosong, ia menggunakan gelung 'foreach' untuk melintasi, dan kemudian melepasi pembolehubah keluaran '{{}}' ke dalam HTML. Akhir sekali, templat bernama 'partials.footer' diperkenalkan melalui arahan '@include'.
Struktur kawalan enjin templat Laravel5.0
Enjin templat Blade menyediakan beberapa struktur kawalan untuk pemprosesan logik yang lebih kompleks. Berikut ialah beberapa struktur kawalan praktikal:
@foreach($items as $item) <li>{{ $item }}</li> @endforeach
@for($i = 0; $i < count($items); $i++) <li>{{ $items[$i] }}</li> @endfor
@if(count($items)) {{ $items[0] }} @endif
@unless(count($items)) <p>No items found!</p> @endunless
@include('partials.header')
@extends('layouts.master') @section('content') <p>This is the body.</p> @endsection
Dalam contoh di atas, '@extends' menentukan reka letak yang diwarisi oleh templat, '@section ' Mentakrifkan blok kandungan dalam templat. Blok kandungan dalam templat induk dipaparkan dalam templat anak dengan menggunakan arahan '@yield'.
Warisan susun atur templat Laravel 5.0
Enjin templat Blade membenarkan pembangun menggunakan warisan reka letak pada halaman reka letak. Dengan mentakrifkan susun atur utama (dipanggil Susun Atur Induk) dan subsusun atur (dipanggil Susun Atur Kanak-kanak), kita boleh memanjangkan reka letak utama dalam reka letak kecil dan mentakrifkan blok kandungan untuk pelbagai bahagian. Contoh berikut menunjukkan cara membuat warisan susun atur:
<!-- 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>
<!-- 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
dalam Dalam contoh di atas, reka letak kecil mewarisi reka letak utama dan mentakrifkan bahagian yang dipanggil 'kandungan'. Dengan menggunakan arahan '@yield' dalam susun atur utama, kami boleh menentukan kedudukan dan kandungan bahagian tersebut. Dalam susun atur kecil, gunakan arahan '@section' untuk mengisi kandungan bahagian tersebut.
Ralat pengendalian templat Laravel5.0
Pengendalian ralat sangat penting semasa membangunkan aplikasi web. Melalui enjin templat Laravel5.0, kami boleh mengendalikan ralat pada halaman dengan mudah. Berikut ialah beberapa petua pengendalian ralat yang berguna:
{{ $foo or 'default' }}
Dalam contoh di atas, ia akan menunjukkan jika pembolehubah $foo tidak ditentukan Nilai lalai ialah 'lalai'.
{{ $foo ? 'yes' : 'no' }}
Dalam contoh di atas, jika pembolehubah $foo adalah benar, ia memaparkan 'ya', jika tidak ia memaparkan 'tidak'.
{{ $foo or 'default' }}
Dalam contoh di atas, jika pembolehubah $foo tidak ditentukan, nilai lalai akan digunakan ' lalai'.
@if(count($errors)) <div class="alert alert-danger"> <ul> @foreach($errors->all() as $error) <li>{{ $error }}</li> @endforeach </ul> </div> @endif
Dalam contoh di atas, gunakan pernyataan @if untuk menyemak sama ada pembolehubah $errors kosong. Jika terdapat ralat, mesej ralat akan dikeluarkan melalui arahan '@foreach'.
<li class="{{ Request::is('home') ? 'active' : '' }}"> <a href="{{ url('home') }}">Home</a> </li>
Dalam contoh di atas, gunakan kaedah 'Request::is()' untuk menyemak sama ada URL semasa ialah 'rumah' dan jika ya, tambahkan kelas CSS 'aktif'.
Ringkasan
Dalam Laravel5.0, enjin templat ialah ciri yang sangat penting, yang menyediakan alat mudah untuk membangunkan aplikasi web berskala besar. Dalam artikel ini, kami memperkenalkan sintaks asas dan teknik biasa enjin templat Blade. Jika anda baru mula mempelajari Laravel5.0, kami amat mengesyorkan agar anda mempelajari dan mengamalkan enjin templat Blade secara mendalam. Ia akan menjadikan anda lebih mudah untuk digunakan, lebih pantas dan lebih fleksibel apabila membangunkan aplikasi web.
Atas ialah kandungan terperinci Bincangkan penggunaan templat dalam versi Laravel 5.0. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!