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"] = "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>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值