g825482785

ThinkPHP学习之-------视图

视图
 <?php
    /*class UserController extends Controller
    {
        public function index()
        {
            模板文件的规则:/[模板主题]/控制其名/操作名+模板后缀
            //display无参数,默认进入view/User/index.html,index.php,index.htm
            $this->display();
        }
    }*/
    ?>
    1.视图配置 默认在这个文件下操作/home/Common/Conf/config.php
<1.修改模板的视图目录默认视图目录是view.如果想改其他目录可以按照下面的配置进行更改。
\'DEFAULT_V_LAYER\' => \'Template\';
<2.默认情况模板文件名后缀为.html,想改其他的话可以按照下面的配置
\'TMPL_TEMPLATE_SUFFIX\' => \'.php\'; //index.php
<3.如果感觉每个模块都要创建相应的目录太过繁琐。可进行配置
\'TMPL_FILE_DEPR\' => \'_\', //User_index.php
<4.如果不想将模板存在默认的home下,而放置于外部
\'VIEW_PATH\' => \'./Newviews/\';
<5.如果系统考虑切换皮肤的情况下,可进行如下配置
\'DEFAULT_THEME\' => \'defalut\'
//切换主题
$this->theme(\'blue\')->display();
2.赋值跟渲染。如果在模板输出变量。必须先控制器中传递给视图。thinkphp中assign这个方法就是对模板赋值
控制器中
//给模板传递变量
        $list = array(
            array(\'name\' => \'gf\',\'email\' => \'825482785@qq.com\'),
            array(\'name\' => \'james\',\'email\' => \'12323@qq.com\')
        );
        $this->assign(\'viewlist\',$list);
        (PS:这个方法必须在display之前进行)
        模版中调用变量think提供了一种{$viewlist}的方式,不过大多数情况还是用php本身的写
视图文件中
        <?php if(!empty($viewlist)) foreach($viewlist as $k=>$v){?>
            <td><?php !empty($v[\'name\']) ? $v[\'name\'] : \'\';?></td>
            <td><?php !empty($v[\'email\']) ? $v[\'email\'] : \'\';?></td>
        <?php }?>

 


渲染模板输出用的display方法、他提供三个参数$this->display(\'模板文件\',\'字符编码\',\'输出类型\');
下面是一些常用的配置
/home/Common/Conf/config.php
 1 <?php
 2 return array(
 3    //\'配置项\'=>\'配置值\'
 4    //禁止模块访问
 5    //\'MODULE_DENY_LIST\' => array(\'Common\',\'Runtime\'),
 6    //允许模块访问
 7    //\'MODULE_ALLOW_LIST\' => array(\'Index\',\'Admin\'),
 8    //设置默认加载模块
 9    //\'DEFAULT_MODULE\' => \'Home\',
10    //只允许一个模块
11    //\'MULTI_MODULE\' => false,
12    //修改PATHINFO的URL分隔符
13    //\'URL_PATHINFO_DEPR\' => \'_\',
14    //修改键名称
15    /*\'VAR_MODULE\' => \'m\',
16    \'VAR_CONTROLLER\' => \'c\',
17    \'VAR_ACTION\' => \'a\'*/
18 
19    //mysql全局定义
20    \'DB_TYPE\' => \'mysqli\',
21    \'DB_HOST\' => \'127.0.0.1\',
22    \'DB_USER\' => \'root\',
23    \'DB_PWD\' => \'123\',
24    \'DB_NAME\' => \'cameramysql\',
25    \'DB_PORT\' => \'3306\',
26    \'DB_PREFIX\' => \'cm_\',
27    \'SHOW_PAGE_TRACE\' => true
28 
29    //PDO配置
30    /*\'DB_TYPE\' => \'pdo\',
31    \'DB_USER\' => \'root\',
32    \'DB_PWD\' => \'123\',
33    \'DB_PREFIX\' => \'cm_\',
34    \'DB_DSN\' => \'mysql:host=localhost;dbname=cameramysql;charset=utf8\',*/
35 
36    //修改默认视图文件名
37    \'DEFAULT_V_LAYER\' => \'Template\';
38 
39     //修改模板文件名后缀
40      \'TMPL_TEMPLATE_SUFFIX\' => \'.php\';   //index.php
41 
42     //感觉文件魔木太多比较繁琐时。
43     \'TMPL_FILE_DEPR\' => \'_\',    //User_index.php
44 
45     //将模板文件放置于外部
46     \'VIEW_PATH\' => \'./Newviews/\';
47 
48     //切换系统默认模板
49     \'DEFAULT_THEME\' => \'defalut\'
50         //切换主题
51         $this->theme(\'blue\')->display();
52 );

 

分类:

技术点:

相关文章: