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 );