Введение в представления в Laravel
Как вы уже знаете, в окно браузера выводится
то, что вернет действие через return:
<?php
namespace App\Http\Controllers;
class PostController extends Controller
{
public function show()
{
return 'text'; // will be shown on screen
}
}
?>
В реальной жизни, однако, контроллеры не возвращают текст непосредственно, а подтягивают его из представления.
Представление представляет собой файл с HTML кодом. При этом обычно каждому действию контроллера соответствует свой файл.
Для того, чтобы получить представление,
используется функция view.
Эта функция параметром принимает название
файла представления (без расширения)
и возвращает его содержимое.
Файлы представлений хранятся в папке
resources/views/.
Давайте перейдем в эту папку и сделаем в
ней файл test.blade.php с таким текстом:
<!DOCTYPE html>
<html>
<head>
<title>my view</title>
</head>
<body>
my view
</body>
</html>
Как вы видите, наш файл test.blade.php
имеет два расширения: первое .php
и второе .blade. Второе расширение
показывает Laravel, что в файле можно
использовать команды шаблонизатора Blade.
Пока мы просто написали HTML без команд
шаблонизатора, но скоро их добавим.
Давайте сделаем так, чтобы наше действие
отправило в браузер текст созданного нами
представления. Для этого действие должно
вернуть результат работы функции view,
в которой параметром мы укажем имя файла
представления (только имя, без расширения):
<?php
namespace App\Http\Controllers;
class PostController extends Controller
{
public function show()
{
return view('test');
}
}
?>
Сделайте представление для какого-нибудь действия одного из ваших контроллеров.
Сделайте представления about.blade.php
и contact.blade.php. Подключите
их к действиям контроллера
PageController.
Расскажите, зачем выносить HTML в отдельные файлы представлений.