布局


MiniFramework 的布局 (Layout) 功能为开发者提供了让多个 View 具有相同代码的机制,例如具有相同的 header 或 footer 代码。

布局功能默认是关闭的,如需使用,请在你的应用入口文件 App/Public/index.php 中定义常量 LAYOUT_ON 的值为 true 开启布局功能,例如:

const LAYOUT_ON = true;

开发者可以在 Controller 中为 Action 设定布局,例如:

<?php
namespace App\Controller;

use Mini\Base\Action;

class Index extends Action
{

    function indexAction()
    {

        // 当前 Action 指定使用名为 default 的布局
        $this->view->_layout->setLayout('default');

        // 渲染并显示View
        $this->view->display();
    }
}

开发者可以在布局中,通过 $this->_layout->content 来输出 View 中的内容,例如:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>这是一个布局的示例</title>
</head>

<body>
    <?php echo $this->_layout->content; ?>
</body>
</html>

布局文件应放置于项目的 Layout 目录中,例如:Layout/default.php

提示:附带的应用案例中,已经开启了布局功能,并演示了如何使用布局。