tp配置+路由+基本操作

 一、打开apache 的配置文件httpd_conf添加以下代码

<VirtualHost *:80>
DocumentRoot "D:wwwroot hinkphppublicindex.php"  #网站运行目录
ServerName tp.com #域名
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "D:wwwroot hinkphppublicindex.php"
ServerName w.tp.com
</VirtualHost>

如果是Nginx环境的话可以在Nginx.conf中添加

location/{

  fi(!-e $request_filename){

    rewrite ^(.*)$ /index.php?s=/$1 last;

    break;

   }

}

二、生成模块

1、找到根目录下的build.php配置如下

// 定义demo模块的自动生成 (按照实际定义的文件名生成)
'admin' => [
'__file__' => ['common.php'],
'__dir__' => ['behavior', 'controller', 'model', 'view'],
'controller' => ['Index', 'Test', 'UserType'],
'model' => ['User', 'UserType'],
'view' => ['index/index'],
],
2、在public目录下index.php文件加入如下代码
$build= include  '../build.php';
hinkBuild::run($build);
3、运行网站此时模块已经生成功,些在删除主放口的代码恢复即可
--------------------
三、基本操作
namespace appindexcontroller; //命名空间
use thinkController;//引用控制器
use thinkRequest;//引用request类
use thinkDb;//引用数据库操作类
class Index extends Controller
{
public function index()
{
$param=$this->request->param();//获取$_GET $_POST所有参数
$data=Db::name("user")->find();//查询user表第一行记录
$this->assign('data',$data);//赋值数组
$this->assign('param',$param);//赋值数组
$this->assign('str','test');//赋值字符
return $this->fetch();//显示模版页,也可以指定模版页$this->fetch('index2')
}
}

 view模块调用方法

{$str}<br/>
用户名:{$data['username']}<br/>也可以额头{$data.username}
----------------------------
四、路由规则

1、地址栏参数解说

http://tp.com/index/index/index/name/aa

/index/index/index/name/aa

index模块/index控制器/index是方法名/个name参数取名/个aa是name参数字段的值

2、控制器首字母大写,如果是驼峰试在地址栏访问时用下划线,如控制器UserName在地址栏访问用

/index/user_name/

3、如果要关掉URL自动转换功能,找到config.php,默认是自动转换URL大小写,关掉的话就用false

// 是否自动转换URL中的控制器和操作名

'url_convert' =>false,

4、第二咱地址访问方式

http://tp.com/?s=index/index/index//name/aa
?s=index模块/index控制器/index是方法名/个name参数取名/个aa是name参数字段的值

5、配置路由

找到route.php下添加以下

'index/[:name]' => ['index/index/index', ['method' => 'get','ext'=>'html']],
说明:
访问的时候http://tp.com/index/index.html 省去index/index/index
其中
index/[:name]表示参数名[]号表示可选,可有可无,index.html中的html变成了参数字传送过去了

6、配置路由带参数的

找到route.php下添加以下

'url/:year/:month' => ['index/index/url', ['method' => 'get','ext'=>'html'],['name'=>'d{4}','pass'=>'d{2}']],
说明:
/:year参数名 /:month参数名 index/index/url路径 ['name'=>'d{4}','pass'=>'d{2}']参数正则限制说明
----

控制器必须要有参数,否则出错
public  function url($year,$month)
{
echo $year.'-'.$month;
//return $this->fetch('url');
}
----
访问地址
http://tp.com/url/2017/10.html 说明 url对因的路由规则名 2017和10被当作控制器方法的参数来传值了


7、配置地址栏参数分隔
// pathinfo分隔符
'pathinfo_depr' => '/', //可以修改成-

8、在控制器下生成url
首先引用use thinkUrl;
public  function url()
{
echo url('fun','a=1&b=2');//说明fun是控制器里的方法,a=1&b=2是要参数
}