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

<VirtualHost *:80>
DocumentRoot "D:\wwwroot\thinkphp\public\index.php"  #网站运行目录
ServerName tp.com #域名
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "D:\wwwroot\thinkphp\public\index.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';
\think\Build::run($build);
3、运行网站此时模块已经生成功,些在删除主放口的代码恢复即可
--------------------
三、基本操作
namespace app\index\controller; //命名空间
use think\Controller;//引用控制器
use think\Request;//引用request类
use think\Db;//引用数据库操作类
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 think\Url;
public  function url()
{
echo url('fun','a=1&b=2');//说明fun是控制器里的方法,a=1&b=2是要参数
}

最新文章

  1. Android Studio使用时源码到处报红色警告,运行时又没错
  2. Swift小练习-引导页
  3. (原)Java初始化过程
  4. 【leetcode】Flatten Binary Tree to Linked List (middle)
  5. js-面向对象的程序设计,函数表达式
  6. Redis教程(六):Sorted-Sets数据类型
  7. sonarqube &#160;安装配置
  8. 参考:iPhone OS 3.0中的字体列表
  9. C如何获取文件夹下所有文件
  10. JS encode decode
  11. struts2必需jar包
  12. hdu 1575 Tr A(矩阵快速幂乘法优化算法)
  13. C# C++ Java接口类型转换
  14. 基于visual Studio2013解决面试题之0502字符串左移
  15. zf-关于收费统计没出来监利县的问题
  16. 向datagridview 添加行
  17. CSV工具类
  18. [转]linux下centos服务器安全设置
  19. 芝麻HTTP:TensorFlow LSTM MNIST分类
  20. C语言作业--数据类型

热门文章

  1. 修改gnome-shell扩展“Applications Menu”的菜单区域宽度。
  2. GridView Item 大小可能不一样,如何保持同一行的Item 高度大小相同,且GridView高度自适应!
  3. linux ntfs模块
  4. GoF设计模式三作者15年后再谈模式
  5. UIButton 设置圆角 边框颜色 点击回调方法
  6. Unity的shader学习1
  7. iOS网络编程解析协议三:JSON数据传输解析
  8. C# 将Dictionary,StringDictionary等集合数据绑定到如comboBox等控件数据源中将获取健值
  9. Linux 内存泄露小结
  10. Python网络爬虫 - 2. Beautiful Soup小试牛刀