Laravel view — представления

Laravel view — представления

От автора: в аббревиатуре MVC буква «V» обозначает «Представление». Laravel view разделяет логику приложения и логику представления. Представления хранятся в папке resources/views. Как правило, представление содержит HTML-код, который будет обслуживаться приложением.

Пример

Шаг 1 — Скопируйте следующий код и сохраните его в файле resources/views/test.php

<html>
  <body>
 <h1>Hello, World</h1>
  </body>
</html>

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

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

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

Шаг 4 – На экране вы должны увидеть следующее.

Фреймворк Laravel. Быстрая разработка с фреймворком №1

Узнай тонкости современной веб-разработки с помощью фреймворка Laravel

Узнать подробнее

Laravel view — представления

Передача данных в представление

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

Пример

Шаг 1 — Скопируйте в файл resources/views/test.php следующий код и сохраните его

<html>
  <body>
 <h1><?php echo $name; ?></h1>
  </body>
</html>

Шаг 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

<html>
  <body>
 <h1><?php echo $name; ?></h1>
  </body>
</html>

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

<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
 
class AppServiceProvider extends ServiceProvider {
 
  /**
  * Загрузка любых служб приложения.
  *
  * @return void
  */
 
  public function boot(){
 view()->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, что позволяет обойтись без использования в шаблонах открывающихся и закрывающихся тегов

Фреймворк Laravel. Быстрая разработка с фреймворком №1

Узнай тонкости современной веб-разработки с помощью фреймворка Laravel

Узнать подробнее

Пример

Шаг 1. Создайте мастер-шаблон и сохраните его в файле resources/views/layouts/master.blade.php.

<html>
 
  <head>
 <title>@yield('title')</title>
  </head>
 
  <body>
 @section('sidebar')
 This is the master sidebar.
 @show
 
 <div class = "container">
 @yield('content')
 </div>
 
  </body>
</html>

Шаг 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
 <p>This is appended to the master sidebar.</p>
  @endsection
 
  @section('content')
 <h2>{{$name}}</h2>
 <p>This is my body content.</p>
  @endsection

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

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

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

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

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

<p> — добавляется к боковой панели мастер-макета. </p> добавляет содержимое абзаца в раздел боковой панели.

@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 — представления

Источник: https://www.tutorialspoint.com/

Редакция: Команда webformyself.

Фреймворк Laravel. Быстрая разработка с фреймворком №1

Узнай тонкости современной веб-разработки с помощью фреймворка Laravel

Узнать подробнее
Самые свежие новости IT и веб-разработки на нашем Telegram-канале

Фреймворк Laravel. Быстрая разработка с фреймворком №1

Узнай тонкости современной веб-разработки с помощью фреймворка Laravel

Научиться

Метки:

Похожие статьи:

Комментарии Вконтакте:

Комментарии Facebook:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Я не робот.

Spam Protection by WP-SpamFree