ThinkPHP

一、準備工作

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>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章