控制器布局
在Laravel框架中使用模板的一种方法就是通过控制器布局。通过在控制器中指定 layout
属性,对应的视图会被创建并且作为请求的默认返回数据。
在控制器中定义一个布局
class UserController extends BaseController { /** * 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‘); } }
Blade模板
Blade是Laravel框架下的一种简单又强大的模板引擎。 不同于控制器布局,Blade模板引擎由模板继承和模板片段驱动。所有的Blade模板文件必须使用Blade .blade.php
文件扩展名。
定义一个Blade布局
<!-- Stored in app/views/layouts/master.blade.php --> <html> <body> @section(‘sidebar‘) This is the master sidebar. @show <div class="container"> @yield(‘content‘) </div> </body> </html>
使用一个Blade布局 (文件名.blade.php)
@extends(‘layouts.master‘)
@section(‘sidebar‘)
@parent
<p>This is appended to the master sidebar.</p>
@stop
@section(‘content‘)
<p>This is my body content.</p>
@stop
(渲染时直接接文件名,不要blade)
注意一个Blade布局的扩展视图简单地在布局中替换了模板片段。通过在模板片段中使用 @parent
指令,布局的内容可以被包含在一个子视图中,这样你就可以在布局片段中添加诸如侧边栏、底部信息的内容。
Sometimes, such as when you are not sure if a section has been defined, you may wish to pass a default value to the@yield
directive. You may pass the default value as the second argument:
@yield(‘section‘, ‘Default Content‘);
更多:http://v4.golaravel.com/docs/4.1/templates#controller-layouts
laravel 模板 blade
时间: 2024-10-12 11:43:19