Передача данных в представление Laravel
Давайте теперь будем передавать какие-нибудь данные из контроллера в представление.
Для этого предназначен второй параметр функции
view. В этот параметр мы можем передать
ассоциативный массив. В представлении все ключи
этого массива станут переменными, а элементы -
значениями этих переменных.
Давайте посмотрим на примере. Передадим в представление какой-нибудь массив с данными:
<?php
namespace App\Http\Controllers;
class PostController extends Controller
{
public function show()
{
return view('test', [
'var1' => '1',
'var2' => '2',
]);
}
}
?>
В результате в представлении будет доступна
переменная $var1 со значением 1
и переменная $var2 со значением 2.
Для того, чтобы вывести содержимое переменной в представлении, нужно написать ее в двойных фигурных скобках. Сделаем это:
<!DOCTYPE html>
<html>
<head>
<title>my view</title>
</head>
<body>
variable one: {{ $var1 }}
variable two: {{ $var2 }}
</body>
</html>
Шаблонизатор Blade вместо соответствующих команд подставит значения переменных и в браузер отправится следующий HTML код:
<!DOCTYPE html>
<html>
<head>
<title>my view</title>
</head>
<body>
variable one: 1
variable two: 2
</body>
</html>
Данные можно добавлять и через метод
with:
<?php
return view('test')
->with('var1', '1')
->with('var2', '2');
?>
Пусть в действии контроллера даны переменные
$name и $surname. Передайте значения
этих переменных в представление и выведите
содержимое каждой из этих переменных на экран.
Пусть в действии даны переменные
$age и $salary. Передайте
их в представление и выведите.
Передайте в представление три переменные
через метод with и выведите их.