一、准备工作
1. 在官网下载压缩包,然后解压
2. 在网站根目录创建文件夹,然后将解压后的文件存储到根目录下
3. 启动入口文件,通过浏览器打开网站根目录下的index.php文件。
// 应用入口文件
// 检测PHP环境
if(version_compare(PHP_VERSION,'5.3.0','<')) die('require PHP > 5.3.0 !');
// 开启调试模式 建议开发阶段开启 部署阶段注释或者设为false
define('APP_DEBUG',True);
// 定义应用目录
define('APP_PATH','./Application/');
// 引入ThinkPHP入口文件
require './ThinkPHP/ThinkPHP.php';
二、数据库的配置
//Application/Home/Conf/config.php
<?php
return array(
//'配置项'=>'配置值'
"URL_ROUTER_ON"=> true, //开启路由
"URL_ROUTE_RULES"=>array(
// "index/abc"=> "index/test",
// "index/:id"=>"index/read?id=:1",//通过地址栏获取传入的id
),
"APP_DEBUG"=>true, //开启调试模式
"DB_TYPE"=>"mysql", //数据库类型
"DB_HOST"=>"localhost",
"DB_NAME"=>"test",
"DB_USER"=>"root",
"DB_PWD"=>"",
"DB_PORT"=>"3306",
"DB_PREFIX"=>"think_", //数据表前缀
);
三、ThinkPHP对MySQL数据库的CURD操作
//Application/Home/Controller/IndexController.class.php
<?php
namespace Home\Controller;
use Think\Controller;
class IndexController extends Controller {
public function index(){
$userObj = new \Home\Model\UserModel();
$data = $userObj->query("select * from tb_admin");
var_dump($data);
}
public function insert(){
$userObj = new \Home\Model\UserModel();
$data['id'] = 3;
$data["user"] = "jack";
$data["password"] = "222";
$data["createtime"] = time();
$result = $userObj->add($data);
echo $result;
}
public function update(){
$userObj = new \Home\Model\UserModel();
$date["password"] = 333;
// $result = $userObj->where("id=3")->save($date); //更新某条数据
$result = $userObj->where("1")->save($date); //整张表更新
echo $result;
}
public function select(){
$userObj = new \Home\Model\UserModel();
// $result = $userObj->find(); //find找到数据表中的第一行数据
// $result = $userObj->where("id=2")->find(); //通过where找到符合条件的一行数据
// $result = $userObj->select(); //输出整张表
// $result = $userObj->where("id=2 or id=3")->order("createtime desc")->limit(1)->select(); //order按照条件排序,limit限制数据个数。
$result = $userObj->where("id=2 or id=3")->order("createtime desc")->limit(1)->getField("user"); //查找某一个字段
var_dump($result);
}
public function del(){
$userObj = new \Home\Model\UserModel();
// $result = $userObj->delete(3); // 删除主键为3的那条数据
$result = $userObj->where("1")->delete(); // 删除整张数据表
echo $result;
}
}
四、模板渲染
创建文件:Application/Home/View/Index/index.html
模板文件的后缀名默认情况.html:ThinkPHP/Conf/convention.php默认设置
'TMPL_TEMPLATE_SUFFIX' => '.html', // 默认模板文件后缀
// Application/Home/Controller/IndexController.php
namespace Home\Controller;
use Think\Controller;
class IndexController extends Controller {
public function index(){
// $userObj = new \Home\Model\UserModel();
//
// $data = $userObj->query("select * from tb_admin");
// var_dump($data);
// $this->assign("name","tom");
// $this->display("index");
$array["email"] = "123@123.com";
$array["phone"] = "123456";
$this->assign($array);
// $this->display("index");
$result = $this->fetch("index");
var_dump($result);
// $this->show("aabbcc");
}
}
display、show、fetch 三者的区别
display:渲染模板后直接输出
fetch:渲染模板后输出给变量
show:直接输出内容,没有模板
五、模板输出和运算符
1. 数组循环输出
<volist name="list" id="vo"> // list是循环数组,vo是循环变量
用户名:{$vo['username']}<br>
电子邮件:{$vo['email']}<br>
注册时间:{[$vo['regdate']|date-"Y-m-d",###}<br> // "|" 变量操作符
事件:{$vo['...']|default = "什么都没做!"} // 默认值
</volist>
//Controller/IndexController.class.php
// $data[] = ["name"=>"tom"];
// $data[] = ["name"=>"jack"];
$data[] = Array("name"=>"tom");
$data[] = Array("name"=>"jack");
$this->assign("list",$data);
$this->display("index");
$data[] = ["name"=>"tom"];这种模式创建对象,报错:syntax error, unexpected '['。查阅资料的值"["name"=>"tom"]"是5.4版本的写法。
原样输出:<literal> ... </literal>