Laravel 4 - Расширение макета с помощью шаблонов лезвий

Я только что настроил свое приложение Laravel 4.2 и следую некоторым онлайн-руководствам по аутентификации.

Учебники говорят мне добавить

protected $layout = "layouts.main";

а затем при вызове представления назовите его так

$this->layout->content = View::make('users.register');

Но, если я следую веб-сайту Laravel при создании своих шаблонов, он говорит мне добавить

@extends('layouts.main')

В начале моего просмотра пользователей/регистрации

Нужно ли мне беспокоиться о двух битах кода, которые я добавил в начале, если я использую этот вызов @extends?

Я действительно смущен.

Ваше здоровье


person BigJobbies    schedule 28.07.2014    source источник


Ответы (1)


Нет, документы не говорят, что вы должны это делать.
Вы либо определяете макет контроллера (а), либо возвращаете представление, которое расширяет макет (б).

A: Схема контроллера

/**
 * The layout that should be used for responses.
 */
protected $layout = 'layouts.master';

/**
 * Show the user profile.
 */
public function showProfile()
{
    $this->layout->content = View::make('user.profile');
}

B: просмотр расширенного макета

// app/views/layout/master.blade.php
<html>
    <head>
        <title></title>
    </head>
    <body>
        <header>
            @yield('header')
        </header>
        <section>
            @yield('content')
        </section>
        <footer>
            @yield('footer')
        </footer>
    </body>
</html>

// app/views/profile.blade.php
@extends('layout/master')

@section('header')
    Header content here
@stop

@section('content')
    Master content here
    @if (Auth::user()->isAdmin)
        @include('admin-panel')
    @endif
@stop

@section('footer')
    Footer content here
@stop

// Controller
/**
 * Show the user profile.
 */
public function showProfile()
{
    return View::make('profile');
}    
person Andreyco    schedule 28.07.2014
comment
О, хорошо ... Так что любой из способов правильный в зависимости от человека, пишущего код? или есть лучший из двух методов выше? - person BigJobbies; 28.07.2014
comment
Я предпочитаю 2-й подход. Это более гибко (например, взгляните на отредактированный ответ) - person Andreyco; 28.07.2014
comment
Отлично... Вот как я сейчас это делаю... Спасибо за вашу помощь! - person BigJobbies; 28.07.2014