Урок 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 - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.
Читайте также:
Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.