На нашем сайте мы используем cookie для сбора информации технического характера и обрабатываем IP-адрес вашего местоположения. Продолжая использовать этот сайт, вы даете согласие на использование файлов cookies. Здесь вы можете узнать, как мы пользуемся файлами cookies.
Я согласен
логотип upread.ru

Урок 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

Читайте также:




PHP 8.0 поставляется с типами объединений, JIT-компиляцией
Сертификаты


© upread.ru 2013-2022
При перепечатке активная ссылка на сайт обязательна.
Задать вопрос
письмо
Здравствуйте! Вы можете задать мне любой вопрос. Если не получается отправить сообщение через эту форму, то пишите на почу up777up@yandex.ru
Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.