template engine mạnh mẽ. Trong Laravel mặc định sử dụng Blade Template engine Engine để render view thành các nội dung file html để trả về người dùng.Blade template:
<?php ?> của PHP thuần trong views.cache cho đến khi file Blade bị thay đổi. Các file cache view được lưu trữ trong app\storage\views\{view_hash_id}.php.blade.php. Ví dụ: gioithieu.blade.php, lienhe.blade.php, ...resources/views. Nếu muốn thay đổi đường dẫn mặc định, có thể hiệu chỉnh trong file config/view.php'paths' => [
resource_path('views'), // Đường dẫn đến thư mục `resources/views`, có thể tùy biến thành thư mục khác nếu bạn muốn!
],
Blade Template engine
blade templete engine trong laravel 5.xblade syntaxroute được gởi từ request GET thông qua url: http://127.0.0.1:8000/hello{{ $variable }}giá trị (value) của biến (variables) với giá trị (value) được xuất ra với định dạng escape chuỗi HTML/JS
[/su_note]
giá trị (value) của biến (variables), chúng ta sử dụng cú pháp {{ và }} dùng để wrap những phần mà bạn muốn PHP xuất ra view. {{ }} thì Blade tự động escape cho chúng ta.
{{ $variable }} là tương đương với <?= htmlentities($variable) ?> $hoten = "<b>Dương Nguyễn Phú Cường</b>";
// View `hello.blade.php`
// Xuất giá trị $hoten escapsed
{{ $hoten }}
<!-- HTML được xuất ra (rendered) --> <b>Dương Nguyễn Phú Cường</b>
{!! $variable !!}giá trị (value) của biến (variables) với giá trị (value) được xuất ra với định dạng không escape chuỗi HTML/JS
[/su_note]
giá trị (value) của biến (variables), chúng ta sử dụng cú pháp {!! và !!} dùng để wrap những phần mà bạn muốn PHP xuất ra view. {!! $variable !!} thì Blade không tự động escape cho chúng ta.
{{ $variable }} là tương đương với <?= ($variable) ?> $hoten = "<b>Dương Nguyễn Phú Cường</b>";
// View `hello.blade.php`
// Xuất giá trị $hoten không escapse
{!! $hoten !!}
<!-- HTML được xuất ra (rendered) --> <b>Dương Nguyễn Phú Cường</b>
@{{ $variable }}Blade bỏ qua và output toàn bộ chuỗi
[/su_note]
@{{ và }} dùng để wrap những phần mà bạn muốn PHP xuất ra view. $hoten = "<b>Dương Nguyễn Phú Cường</b>";
// View `hello.blade.php`
// Yêu cầu blade bỏ qua và output toàn bộ chuỗi
@{{ $hoten }}
<!-- sử dụng cú pháp @{{ }}, blade sẽ bỏ qua và output toàn bộ "{{ $hoten }}" -->
@{{ $hoten }}
{{-- $variable --}}Blade
[/su_note]
Blade, chúng ta sử dụng cú pháp {{-- --}}$hoten = "<b>Dương Nguyễn Phú Cường</b>";
// View `hello.blade.php`
{{-- $hoten, ghi chú khi sử dụng code, bla, bla, ... --}}
if, else , foreach , while …
@if sẽ được compile thành <?php if ($condition) : ?>.
<?php
$gioitinh = 0; //0: Nam; 1: Nữ; 2: Không công bố
?>
Giới tính là:
@if ($gioitinh == 0)
{{ 'Là Nam!' }}
@elseif ($gioitinh == 1)
{{ 'Là Nữ' }}
@else
{{ 'Không công bố' }}
@endif
@unless tương tự như @if , và nó @unless ($condition) sẽ tương đương với @if (!$condition)
@unless (Auth::check())
Vui lòng đăng nhập để thực hiện chức năng này...
@endunless
@for, @foreach, và @while:
Tương đương với PHP thuần là for, foreach , while
@for ($i = 0; $i < 10; $i++)
Giá trị hiện tại là {{ $i }}
@endfor
@foreach ($users as $user)
<p>Đây là user tên {{ $user->fullname }}</p>
@endforeach
@while (true)
<p>Vòng lập vô tận, lập mãi mãi...</p>
@endwhile
đục lỗ (chừa sẵn chỗ - placeholder), để các view con khi kế thừa layout master có thể gắn giao diện vào.đục lỗ (chừa sẵn chỗ - placeholder), chúng ta sẽ sử dụng cú pháp @yield('placeholder_name') của Blade để thực hiệnmaster.blade.php<!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>Sunshine | @yield('title')</title>
</head>
<body>
<!-- Main content -->
<div class="container-fluid">
<div class="row">
<!-- Content -->
<main role="main" class="col-md-9 ml-sm-auto col-lg-10 px-4">
@yield('content')
</main>
<!-- End content -->
</div>
</div>
<!-- End main content -->
</body>
</html>
layout/partials/navbar.blade.php: sẽ quy định giao diện về thanh điều hướng navbarlayout/partials/sidebar.blade.php: sẽ quy định giao diện về thanh bên cạnh sidebar@include('duong_dan_den_file_view_can_include')<!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>Sunshine | @yield('title')</title>
</head>
<body>
<!-- Navbar -->
@include('layouts.partials.navbar')
<!-- End Navbar -->
<!-- Main content -->
<div class="container-fluid">
<div class="row">
<!-- Sidebar -->
@include('layouts.partials.sidebar')
<!-- End sidebar -->
<!-- Content -->
<main role="main" class="col-md-9 ml-sm-auto col-lg-10 px-4">
@yield('content')
</main>
<!-- End content -->
</div>
</div>
<!-- End main content -->
</body>
</html>
@extends('ten_view_cha')@section('placeholder_name') ... @endsection@extends('layouts.master')
@section('title')
Trang quản trị hệ thống
@endsection
@section('content')
<h1>Hello, đây là nội dung từ view con (child view) được nhúng vào `section('content')`</h1>
@endsection
Cùng nhau học tập, khám phá các kiến thức nền tảng về Lập trình web, mobile, database nhé.
Nền tảng kiến thức - Hành trang tới tương lai hân hạnh phục vụ Quý khách!
Khám phá, trải nghiệm ngay
Vui lòng đăng nhập để gởi bình luận!
Đăng nhậpChưa có bình luận nào!