使用TinkPHP实现品字形布局

一、后台管理模版


后台管理模版通常使用frameset/iframe来布局。例如:

<!DOCTYPE html>
<html>
<head>
    <title>frameset</title>
</head>
<body>
    <frameset>
        <frame src="left.html"></frame>
        <frameset>
            <frame src="left.html"></frame>
            <frame src="right.html"></frame>
        </frameset>>
    </frameset>
</body>
</html>

但是在使用框架开发中我们不会去直接访问一个页面,而是通过访问一个控制器来获取一个被渲染的模版。针对上面的品型结构来实现一个控制器。

二、控制器


<?php
    namespace Home\Controller;
    use mysqli;
    use Think\Controller;

    /**
    * 
    */
    class IndexContoller extends Controller{
        //渲染主视图
        public function  index(){
            $this->display();
        }
     //渲染顶部视图
        public function top(){
            $this->display();
        }
    //渲染左部视图
        public function left(){
            $this->display();
        }
    //渲染右部视图
        public function right(){
            $this->display();
        }
    }

三、模版


  • index.html
<!DOCTYPE html>
<html>
<head>
    <title>frameset</title>
</head>
<body>
    <frameset>
        <frame src="localhost/Applaction/Home/Idex/top"></frame>
        <frameset>
            <frame src="localhost/Applaction/Home/Idex/left"></frame>
            <frame src="localhost/Applaction/Home/Idex/right"></frame>
        </frameset>>
    </frameset>
</body>
</html>

这里的src全部替换成相应的控制器

  • 其它视图
<!DOCTYPE html>
<html>
<head>
    <title>frameset</title>
</head>
<body>
    This is top
    This is left
    This is right
</body>
</html>

四、常量使用


ThinkPHP中已经定义了许多常量,我们可以直接拿来使用。

 查看系统已定义常量,get_defined_constants就是用来获取所有常量的函数。

 public function getServerConst(){
        var_dump(get_defined_constants(true));
    }

经常使用与路径相关的常量有以下一些

这是我的项目结构:

直接在HTML中使用常量

访问结果

 

 

 

 

 

posted @ 2016-06-16 00:21  被罚站的树  阅读(365)  评论(0编辑  收藏  举报