ThinkPHP学习笔记(三)输出

ThinkPHP学习笔记(一)环境搭建

ThinkPHP学习笔记(二)MVC模式和URL访问

ThinkPHP学习笔记(三)输出

ThinkPHP学习笔记(四)模型与数据库

ThinkPHP学习笔记(五)使用模型操作数据库之CURD

ThinkPHP学习笔记(六)使用CURD对User数据库数据进行删除和修改

ThinkPHP学习笔记(七)深入学习数据库查询



一、新建项目

ThinkPHP环境搭建与新建项目及项目的各个目录基本使用说明请参考:ThinkPHP学习笔记(一)环境搭建 ; ThinkPHP学习笔记(二)MVC模式和URL访问

二、输出

1、原生输出:在ThinkPHP的MVC的“C文件夹class”中添加代码

<?php
class IndexAction extends Action {
    public function index(){
    echo('hello');
    }
}

然后浏览器输入:http://localhost/ThPHP/index.php/index/index/   可以看到浏览器打印出 hello


2、ThinkPHP的 display() 输出:

ThinkPHP提供了MVC开发方式,M(提供数据),C(模块,主要处理数据和逻辑),V(用来展示C从M中拿到并处理后的数据)。C如何把数据传给V ?

(1)C文件夹中class中添加代码:

<?php
class IndexAction extends Action {
    public function index(){
    echo('hello');
    }
public function show() {

$name='lizhongfu';
$this->assign('data',$name);
$this->display();
}
}

用display()方法输出,传递参数用assign(),其参数中,data为key,$name为value。这样C把数据传向了V,还要处理V怎么接收,如下:

V文件夹是项目目录下的Tpl文件夹,为了对应class IndexAction 下的show() 方法,Tpl文件夹中新建Index文件夹来对应IndexAction,新建show.html页面来对应show方法,这里的show.html的名字要和class IndexAction下的show()方法同名,这样就建立起了V和C的关系;


(2)下面要解决的就是V如何接受C传过来的参数:

1> 用 {$ key }来接受C中传过来的参数,key对应$this->assign('data',$name); 中的 ‘data’,Tpl->Index->show.html中的代码如下:

<html>
<head> 
<title>Test</title>
</head>
<body>
<h1>this is <{$data}></h1>
</body>
</html>

这样浏览器访问 http://localhost/ThPHP/index.php/index/show/  ,就可以在show.html中展示 $this->assign('data',$name);传过来的$name的value了。


2>{$ key }来接受C中传过来的参数这种方式是默认的方式,为了后期方便维护,区分与其他框架,经常需要修改这种默认的方式,修改方法是修改项目的Home目录中的Conf文件夹下的config.php文件:

添加:

'TMPL_L_DELIM'=>'<{',     //修改左定界符

 'TMPL_R_DELIM'=>'}>',     //修改右定界符

这样show.html 中代码应该这样:

<html>
<head> 
<title>Test</title>
</head>
<body>
<h1>this is <{$data}></h1>   <!--   用  <{   替代了 {  ,  }>  替代了  }    -->
</body>
</html>

如果刷新浏览器发现不能正确显示或者出现未知错误等现象,首先应清除一下缓存,然后运行,如果还有错误,再检查代码。

清除缓存方法:进入项目的 ../Runtime文件夹,删除 ~runtime.php 文件,删除Cache文件夹中的文件。


最后运行效果:

ThinkPHP学习笔记(三)输出_第1张图片

你可能感兴趣的:(ThinkPHP学习笔记(三)输出)