测试环境:Window XP sp3
XAMPP 1.7.4(Apache 2.2.17、MySql 5.5.8、PHP 5.3.5)
ThinkPHP 2.1
PHPeclipse
使用ThinkPHP创建应用的一般开发流程是:
1、创建数据库和数据表
数据库名称demo:
CREATE TABLE `think_demo` (
`id` int(11) unsigned NOT NULL auto_increment,
`title` varchar(255) NOT NULL default '',
`content` longtext NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ;
2、创建项目
在apache DocumentRoot 所在目录下创建应用(注:这里根据测试环境会有不同),项目名Myapp,同时将ThinkPHP核心拷贝到Myapp下,接着新建入口文件index.php
<?php /* * Created on 2011-6-10 * * To change the template for this generated file go to * Window - Preferences - PHPeclipse - PHP - Code Templates */ // 定义ThinkPHP框架路徂 define('THINK_PATH', './ThinkPHP/'); //定义项目名称和路徂 define('APP_NAME', 'Myapp'); define('APP_PATH', '.'); // 加载框架入口文件 require(THINK_PATH."/ThinkPHP.php"); //实例化一个网站应用实例 App::run(); ?>
访问入口文件,自动生成项目目录。
http://localhost:8081/Myapp/index.php
成功后,可看到欢迎页面:
3、项目配置
在自动生成的目录下面,已经创建了一个空的项目配置文件,Conf/config.php
打开增加项目配置信息:
<?php return array( //'配置项'=>'配置值' 'APP_DEBUG' => true, // 开启调试模式 'DB_TYPE'=> 'mysql', // 数据库类型 'DB_HOST'=> 'localhost', // 数据库朋务器地址 'DB_NAME'=>'demo', // 数据库名称 'DB_USER'=>'root', // 数据库用户名 'DB_PWD'=>'', // 数据库密码 'DB_PORT'=>'3306', // 数据库端口 'DB_PREFIX'=>'think_', // 数据表前缀 ); ?>
4、增加业务逻辑(增加为例)
Lib/Action下,自动生成的IndexAction.class.php(控制器),注释(或者删除)掉当前的index方法,添加新的insert、index方法:
// 数据写入操作 public function insert() { $Demo = new Model('Demo'); // 实例化模型类 $Demo->Create(); // 创建数据对象 $result = $Demo->add(); // 写入数据库 $this->redirect('index'); // 成功后重定向刡index操作页面 } // 数据查诟操作 public function index() { $Demo = new Model('Demo'); // 实例化模型类 $list = $Demo->select(); // 查询数据 $this->assign('list', $list); // 模板发量赋值 $this->display(); // 输出模板 }
5、模板定义
Tpl/default下创建index 目录,用于存放index模块的模板文件,例子只需要为index操作定义模板文件即可(insert是后台操作):
index.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>ThinkPHP Demo</title>
</head>
<body>
<!--数据新增表单-->
<form method="post" action="__URL__/insert">
标题:<input type="text" name="title"><br />
内容:<textarea name="content" rows="5" cols="25"></textarea><br />
<input type="submit" value="新增数据">
</form>
<!--很环输出查诟绌果数据集-->
<volist name='list' id='vo'>
编号:{$vo.id}
<br />
标题: {$vo.title}
<br />
内容: {$vo.content}
<hr>
</volist>
</body>
</html>
6、测试
运行httP://localhost:8081/Myapp/
由于在config里开启了debug模式,可以看到trace信息。