Шаблон лезвия Laravel 3 не работает

109
13

Я изучаю Laravel 3, но шаблон Blade не работает. Мой код кажется правильным, но все, что отображается, @layout('master'). Источник также содержит только этот текст.
application\views\home\index.blade.php содержание:


@layout('master')

@section('main')
{{ $greeting }}
@endsection


application\views\master.blade.php Содержание:


<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Hello world!</title>
</head>
<body>
<div id="container">
@yield('main')
</div>
</body>
</html>

и в routes.php:


Route::get('/, home', function()
{
$greeting = "Hello world";
return View::make('home.index')->with('greeting',$greeting);
});

Что может заставить лезвие не работать? Я также попробовал Laravel 4 и изменил @layout на @extends, @endsection на @stop, но в той же ситуации. Я получаю только @extends('master').

спросил(а) 2021-01-25T15:55:41+03:00 4 месяца, 3 недели назад
1
Решение
89

Просто удалите каждое пространство или EOL, CR, LF, Enter,\n (или что-то еще) перед вашим кодом.
В том же выпуске в Laravel 4 я последовал за быстрым запуском, на котором вы создаете представление. Я оставляю новую строку.


-New line here, and it brokes-
@extends('layout')

@section('content')
Users!
@stop


Снова удалите что-либо перед @extends('layout'), и оно работает для меня!

ответил(а) 2021-01-25T15:55:41+03:00 4 месяца, 3 недели назад
44

то же самое на мне в L4...
проверьте свою кодировку своего редактора кода! иногда некоторые скрытые символы находятся в начале файла.
я переключился на "UTF-8 без спецификации"

ответил(а) 2021-01-25T15:55:41+03:00 4 месяца, 3 недели назад
45

Не уверен... но я думаю, потому что у вас есть место в верхней части вашего файла....


@layout('master')

должен быть непосредственно в верхней части файла, чтобы он работал правильно...
Иначе это просто перекликается с @layout ( "master" ) как слова на странице, если вы знаете, что я пытаюсь сказать:)

ответил(а) 2021-01-25T15:55:41+03:00 4 месяца, 3 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема