Урок 15. Введение в представления Laravel


В нескольких закрытиях маршрутов, которые мы рассматривали до сих пор на уроках Laravel, мы видели что-то вроде представления возврата ("учетная запись"). Что здесь происходит?

В шаблоне MVC представления (или шаблоны) - это файлы, описывающие, как должен выглядеть определенный вывод. У вас могут быть представления для JSON, XML или электронной почты, но наиболее распространенные представления в веб-среде выводят HTML.

В Laravel есть два формата представления, которые вы можете использовать из коробки: обычный PHP или блейд-шаблоны. Разница заключается в имени файла: about.php будет отображаться с помощью движка PHP, и about.blade.php будет отображаться с помощью движка Blade.

Три загрузки представления

Существует три различных способа отобразить представление. На данный момент можно просто вернуть view (), но если вы когда-нибудь увидите View::make (), это одно и то же, или вы можете ввести Illuminate\View\ViewFactory, если хотите.

Как только вы “загрузили” представление с помощью помощника view(), у вас есть возможность просто вернуть его как в коде ниже, что будет работать нормально, если представление не зависит от каких-либо переменных контроллера.

Использование простого view()

Route::get('/', function () {
   return view('home');
});
Этот код ищет представление в resources/views/home.blade.php или resources/views/home.php, и загружает его содержимое и анализирует любые встроенные PHP или структуры управления, пока у вас не будет только вывода представления. Как только вы возвращаете его, он передается остальной части стека ответов и в конечном итоге возвращается пользователю.

Но что, если вам нужно передать переменные? Взгляните на пример ниже.

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

Route::get('tasks', function () {
    return view('tasks.index')
        ->with('tasks', Task::all());
});
Это замыкание загружает resources/views/tasks/index.blade.php или resources/views/tasks/index.php просмотрите и передает ему одну переменную с именем tasks, которая содержит результат метода Task::all ().Task::all (). - это запрос к базе данных, о котором вы узнаете на следующих уроках.

Возврат простых маршрутов непосредственно с помощью Route::view()

Поскольку маршрут часто просто возвращает представление без пользовательских данных, Laravel 5.5+ позволяет определять маршрут как маршрут “представления”, даже не передавая определение маршрута в качестве закрытия или ссылки на контроллер/метод, как вы можете видеть в примере ниже.

// Возвращает resources/views/welcome.blade.php
Route::view('/', 'welcome');

// Передача простых данных в Route::view()
Route::view('/', 'welcome', ['User' => 'upread']);
Использование композера представлений для совместного использования переменных с каждым представлением

Иногда может возникнуть проблема с передачей одних и тех же переменных снова и снова. Может существовать переменная, доступная для каждого представления на сайте, или для определенного класса представлений, или для определенного включенного подвида — например, для всех представлений, связанных с задачами, или для частичного заголовка.

Можно совместно использовать определенные переменные с каждым шаблоном или только с определенными шаблонами, как в следующем коде:

view()->share('variableName', 'variableValue');
Подробнее об этом мы поговорим на следующих уроках.
Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.

тегистатьи IT, уроки по Laravel, представления, php, Laravel




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




2D платформер на Unity: управляем котом с помощью джойстика
Вывод переменной в Twig на OpenCart 3
Урок 2. Комментарии JavaScript