ThinkPHP基础学习系列(1):环境准备与搭建

1. 在根目录下建立一个项目文件夹,如 GuestBook_Think,把ThinkPHP复制到里面,同时建立存放本项目的文件夹GuestBook,再新建一个PHP文件index.php,定义入口,代码如下:

<?php 
// 定义ThinkPHP路径 
define('THINK_PATH','./ThinkPHP'); 
// 定义项目名称 
define('APP_NAME','GuestBook'); 
// 定义项目路径 
define('APP_PATH','./GuestBook'); 
// 加载入口文件 
require(THINK_PATH.'/ThinkPHP.php'); 
// 实例化这个项目 
$App = new App(); 
// 执行初始化 
$App->run(); 
?>

 

2. 在浏览器地址栏打http://127.0.0.1/GuestBook_Think/,应该会出现一个

clip_image002

说明成功,把该项目运行所需要的文件夹自动生成。

3. 在conf文件夹下面创建一个 config.Php文件(应该已经存在,只需要修改即可),修改配置信息如下:

<?php 
if (!defined('THINK_PATH')) exit(); 
return array
'DB_TYPE'=>'mysql', // 使用的数据库是mysql 
'DB_HOST'=>'localhost', 
'DB_NAME'=>'myguestbook',// 数据库名 
'DB_USER'=>'root', 
'DB_PWD'=>'',// 填写你连接数据库的密码 
'DB_PORT'=>'3306', 
'DB_PREFIX'=>'think_', // 数据表表名的前缀 请参看http://thinkphp.cn/Article/10 
); 
?>

 

4. 在Lib\Model目录下新建一些PHP文件,和数据库表一一对应
文件名规范:表名+Model.class.php(不带think_前缀)
如:GuestBookInfoModel.class.php表示数据库里面有一张表叫guestbookinfo
里面的代码如:

<?php 
class GuestBookInfoModel extends Model { } 
?>

 

5. 接下来该写模板了,在\Tpl\default\Index下创建index.html文件,模板的写法和smarty相似,代码如:

在静态模板里面定义一些标签,通过php文件赋值就可以显示出来,
基本标签定义规范:{$变量名}

6. 在action中给变量赋值,\Lib\Action\ 如在IndexAction.class.php文件中写赋值代码

<?php 
class IndexAction extends Action{ 
public function index(){ 
$this->assign("title","测试标题"); 
$this->assign('name',"haha"); 
$this->display(); 


?>

 

然后再浏览器中访问http://127.0.0.1/GuestBook_Think/就可以看到显示的页面中标签已经被替换。

7. 如果要显示大量数据,如一个数组,我们则需要在Action中构建数组,然后把数组当做参数传递出去,在模板上循环显示

public function index(){ 
$array = array(); 
$array['name']='张三'
$array['sex']=''
$array['age']=18
$this->assign('array',$array); 
$this->display(); 
}

 

模板页需要增加循环操作,如:

<body> 
<foreach name="array" item="vo" > 
{$vo}
<br> 
</foreach> 
</body>

 

Name:要遍历的集合名

item:集合中的每一个元素

显示结果如下:

clip_image004

通过上面的例子,我们可以显示一个简单的数组,但是我们在开发时涉及到的数组都是比较复杂的,如2维数组,可以这样输出:

$array[]=array('name'=>'张三','sex'=>'','age'=>18); 
$array[]=array('name'=>'里斯','sex'=>'','age'=>38); 
$array[]=array('name'=>'王五','sex'=>'','age'=>20); 
$this->assign('array',$array); 
$this->display();

 

模板的写法:

<body> 
<foreach name="array" item="vo" > 
{$vo.age}{$vo.name}{$vo.sex}
<br> 
</foreach> 
</body>

 

现在数组中的每一个元素还是一个数组,这时我们就需要在后面点出要显示的键名,才能表示单个元素,显示结果如:

clip_image006

posted @ 2010-11-13 15:47  石曼迪  Views(3015)  Comments(0Edit  收藏  举报
瓴域建设-环保事业中心