phpstorm 运行调试环境搭建

xdebug的安装和配置按照官方文档即可,我这里主要说一下配置php运行环境

ThinkPHP框架学习_html

ThinkPHP框架学习_配置文件_02

ThinkPHP框架学习_html_03

最后点击的​​validate​​是一个验证,看我们的xdebug是否已经配置好

ThinkPHP框架学习_php_04

然后点击validate按钮,如果都是对勾就说明没问题了,我这次配置遇到的坑就是

ThinkPHP框架学习_php_05

端口​​9000​​后面多了一个​空格

controller

通过URL调用控制器

index.php/模块名称/控制器/方法

比如我们现在创建了一个​​Admin​​​模块,然后编写了一个控制器​​TestController.class.php​​,里面内容如下:

<?php
namespace Admin\Controller;
use Think\Controller;
class TestController extends Controller {
public function Test(){
echo 'Test';
}
}

这时我们可以通过​​http://localhost/html/shop/index.php/admin/test/test​​​来调用​​admin​​​模块中的​​Test​​​控制器的​​Test​​​方法,注意​​url​​是小写,控制器文件以及控制器类和方法都是​驼峰命名

如果需要传参,也可以使用/的形式进行传参,比如​​aa/1/bb/9​​​,等价于​​?aa=1&bb=9​

view

我们在在home模块中创建一个user控制器,内容如下:

<?php
namespace Home\Controller;
use Think\Controller;

class UserController extends Controller {
public function add(){
$a = phpinfo();
$this->assign('a', $a);
$this->display();
}
}

然后我们调用assign和display方法,这都是框架自带的,我们从Controller类继承而来,它会调用view层的对应html来显示内容,我们需要在view文件中创建一个和控制器同名的文件夹User,然后在里面创建一个名字和**调用display方法的方法(add)**名相同的html文件,内容如下:

<html>
<title>test</title>
<body>
<h1>{$a}</h1>
</body>
</html>

使用​​{}​​引用变量

model

model的名字和(要连接的数据库的)表名是一样的,我们需要先配置自己的对应模块或者项目的配置文件,在该配置文件中修改相关配置,然后才能正常地连接到数据库

使用D()和M()方法都可以得到model的实例,但D函数是优先得到子类的Model实例,而M函数是得到父类的Model实例,即Think\Model类,我们可以在UserController.class.php中按照如下方式实例化Model类:

<?php
namespace Home\Controller;
use Think\Controller;

class UserController extends Controller {
public function add(){
$a = phpinfo();
$this->assign('a', $a);
$this->display();
}

public function ff(){
$a = D('Xxx');
var_dump($a);
}
}

这样当我们使用​​http://localhost/html/shop/index.php/home/user/ff​​调用ff方法时,XxxModel就会被实例化

配置文件

TP框架自带的配置文件:

/ThinkPHP/Conf/convention.php

项目的配置文件:

/www/tpshop/Common/Conf/config.php

模块的配置文件:

比如Home模块的配置文件:

/www/tpshop/Home/conf/config.php