一、準備工作
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"] = "[email protected]";
$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>