码迷,mamicode.com
首页 > Web开发 > 详细

ThinkPHP 控制器调用模板的流程和项目模板部署步骤

时间:2015-07-09 11:30:55      阅读:222      评论:0      收藏:0      [点我收藏+]

标签:

现在主流的MVC框架网站中,控制器接收到页面请求后,通常会调用相应的模板,模板经过渲染之后,内容返回给前台页面,如下面ThinkPHP的一个控制器:

shop/home/controller/UserController.class.php

<?php
 
namespace Home\Controller;
use Think\Controller;
class UserController extends Controller {
    //登陆事件,function默认public,所以不用加public也行
    function login(){
        //调用模板
        $this -> display();
    }
 
    function register(){
        echo ‘registering‘;
    }
}


上面的display()继承自Controller类,调用时会调用shop/home/view/user/login.html 文件返回给前端,如果该文件不存在,会产生错误。


login.html等模板文件,与项目进行整合步骤:

1.引入静态代码,也就是把login.html文件,放入shop/home/view/user/ 目录

2.引入css、image、js

   a. 以上3样东西,浏览器需要发送单独的http请求

   b. 引入css的时候,以User控制器标志作为当前目录,显然不行

        以死的绝对路径不利于后期维护,例如其中目录有修改,就要全部都修改,有很多 重复劳动

        优化后:利用常量把路径给定义好,后期只维护一个常量即可

3.在入口文件地方把css、img、js的路径设置为常量

4.在模板中通过常量获得具体的css、img等文件信息(所有模板文件都要进行替换)

5.把css文件本身的图片路径设置正确(css文件中引用图片的)


在网站的index.php中定义常量,以保证所有目录都可以用

<?php

//定义css、img、js常量
define(“SITE_URL”,”http://web.1116.com”);
define(“CSS_URL”,SITE_URL.”shop/public/css/“);
define(“IMG_URL”,SITE_URL.”shop/public/img/")
define(“JS_URL”,SITE_URL.”shop/public/js/“)

模板html中使用方式:

<link href="{$Think.const.CSSURL}style.css” rel=“stylesheet” type=“text/css” />



ThinkPHP 控制器调用模板的流程和项目模板部署步骤

标签:

原文地址:http://my.oschina.net/u/861926/blog/476463

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!