Laravel view — подання

342

Від автора: в абревіатурі MVC літера «V» означає «Вистава». Laravel view поділяє логіку програми і логіку подання. Уявлення зберігаються в папці resources/views. Як правило, подання містить HTML-код, який буде обслуговуватися додатком.

Приклад

Крок 1 — Скопіюйте наступний код і збережіть його у файлі resources/views/test.php

Hello, World

Крок 2 — Додайте в файл app/Http/routes.php наступний рядок, щоб задати маршрут для вищевказаного подання.

Route::get(‘/test’, function(){
return view(‘test’);
});

Крок 3 – Перейдіть за наступним URL-адресою, щоб побачити очікуваний результат. http://localhost:8000/test

Крок 4 – На екрані ви повинні побачити наступне.

Laravel view — подання

Передача даних до подання

При створенні програми може знадобитися передати до подання дані. Передайте масив в функцію хелперу подання. Після передачі масиву ми можемо використовувати ключ, щоб отримати значення по цьому ключу у HTML-файлі.

Приклад

Крок 1 — Скопіювати в файл resources/views/test.php наступний код і збережіть його

Крок 2 — Додайте такий рядок у файл app/Http/routes.php щоб задати маршрут для вищевказаного подання.

Route::get(‘/test’, function(){
return view(‘test’,[‘name’=>’Virat Gandhi’]);
});

Крок 3 — Значення імені ключа буде передано в файл test.php і $name буде замінена цим значенням.

Крок 4 – Перейдіть за наступним URL-адресою, щоб побачити результат. http://localhost:8000/test

Крок 5 – Ви повинні отримати наступне:

Laravel view — подання

Спільне використання даних для всіх уявлень

Ми розглянули, як ви можете надіслати подання дані, але в деяких випадках нам необхідно передати дані на всі вистави. Laravel дозволяє зробити це набагато простіше. Існує метод під назвою share(), який можна використати для цієї мети. Метод share() приймає два аргументи, ключ і значення. Зазвичай метод share() можна викликати з методу провайдера служби. Ми можемо використовувати будь-провайдера служби, AppServiceProvider або власного провайдера.

Приклад

Крок 1 — Додайте в файл app/Http/routes.php наступний рядок. app/Http/routes.php

Route::get(‘/test’, function(){
return view(‘test’);
});
Route::get(‘/test2’, function(){
return view(‘test2’);
});

Крок 2 — Створіть два файлу подання — test.php і test2.php з тим же кодом. Для цих двох файлів ми будемо представляти загальні дані. Скопіюйте наступний код в обидва файлу: resources/views/test.php і resources/views/test2.php

Крок 3 — Змініть код методу завантаження у файлі app/Providers/AppServiceProvider.php як показано нижче. (Тут ми використовували метод share, в результаті передані нами дані будуть доступні для всіх подань.)

share(‘name’, ‘Virat Gandhi’);
}
/**
* Реєструємо службу програми.
*
* @return void
*/
public function register(){
//
}
}

Крок 4 – Перейдіть за наступним URL-адресами: http://localhost:8000/test і http://localhost:8000/test2

Крок 5 – Ви повинні отримати наступне.

Laravel view — подання

Шаблони Blade

Blade — це простий, але потужний движок шаблонів Laravel. Blade — компактний мову шаблонів Laravel, і синтаксис дуже простий в освоєнні. Шаблон Blade має розширення — blade.php і зберігається в папці resources/views.

Blade також підтримує всі основні конструкції PHP для створення циклів і умов @for, @foreach, @while, @if і @elseif, що дозволяє обійтися без використання шаблонів відкриваються і закриваються тегів

Приклад

Крок 1. Створіть майстер-шаблон і збережіть його у файлі resources/views/layouts/master.blade.php.

@yield(‘title’)
@section(‘sidebar’)
This is the master sidebar.
@show

@yield(‘content’)

Крок 2 — Тут, у майстер-шаблоні,

@yield (‘title’) використовується для відображення значення заголовка

@section (‘sidebar’) використовується для визначення розділу з ім’ям sidebar

@show використовується для відображення вмісту розділу

@yield (‘content’) використовується для відображення вмісту основного блоку вмісту

Крок 3 — Тепер створіть ще одну сторінку, розширює майстер-шаблон і збережіть її у файлі resources/views/page.blade.php

@extends(‘layouts.master’)
@section(‘title’, ‘Page Title’)
@section(‘sidebar’)
@parent

This is appended to the master sidebar.

@endsection
@section(‘content’)

{{$name}}

This is my body content.

@endsection

Крок 4 — Нижче наводиться опис кожного елемента.

@extends(‘layouts.master’) використовується для розширення майстер-макета. В “‘layouts.master» layouts — це ім’я каталогу, в якому ми зберегли головний шаблон, а «.master» відноситься до майстер-шаблону «master.blade.php», але тут використовується тільки ім’я без розширення blade.php

@section(‘title’, ‘Page Title’) — встановлює значення розділу заголовка.

@section(‘sidebar’) — визначає розділ бічній панелі на сторінці дочірнього макета.

@parent — відображає вміст розділу бічній панелі, визначене у майстер-макеті.

— додається до бічної панелі майстер-макета.

додає вміст абзацу розділ бічній панелі.

@endsection — завершує розділ бічній панелі.

@section (‘content’) — задає розділ контенту.

@section (‘content’) — додає вміст абзацу розділ контенту.

@endsection — завершує розділ контенту.

Крок 5 — Тепер налаштуйте маршрут для перегляду цього шаблону. Додайте у файл app/Http/routes.php наступний рядок.

Route::get(‘blade’, function () {
return view(‘page’,array(‘name’ => ‘Virat Gandhi’));
});

Крок 6 – Перейдіть за наступним URL-адресою, щоб переглянути приклад шаблону blade. http://localhost:8000/blade

Laravel view — подання