一、打开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是要参数
}

tp配置+路由+基本操作的更多相关文章

  1. phonegap环境配置与基本操作

    一.开发环境配置: 1.工具环境安装: 安装java sdk 1.6以上版本号,Android Development Tools.ant,系统变量 Path后面加入 新增名稱 JAVA_HOME 值 ...

  2. [SignalR]配置路由

    原文:[SignalR]配置路由 注册路由,在代码如下(SignalR 1.*): 脚本修改如下: 但是其官方文档解释是: By default, the route URL which client ...

  3. angular配置路由/子页面+vue配置路由/子页面

    1.在vue.js中组件可以复用,然后最近配置了几个子页面 在 这个文件中配置路由,子页面的配置跟其他一样,只不过path不同.   routes: [     { path: '/',       ...

  4. vue2.0配置路由

    配置路由之前,先检查vue版本,(案例适用vue2.0) 采用npm包的形式进行安装. 安装路由依赖:npm install vue-router(代码中,如果在一个模块化工程中使用它,必须要通过 V ...

  5. flutter 入口文件配置路由+加载页面

    入口文件配置路由 1.路由信息 -- 加载页面 ,通常用于显示新的内容或者广告,加载完成之后进入主页面 -- 主页面 /app 2.配置页面  main.dart main.dart // main ...

  6. Vue2+VueRouter2+webpack 构建项目实战(三):配置路由,运行页面

    制作.vue模板文件 通过前面的两篇博文的学习,我们已经建立好了一个项目.问题是,我们还没有开始制作页面.下面,我们要来做页面了. 我们还是利用 http://cnodejs.org/api 这里公开 ...

  7. linux deb系 rpm系 配置路由

    deb: 添加默认路由:route add default gw 8.46.192.1 添加网段路由:route add -net 8.46.0.0/19 gw 8.46.192.1 删除路由:把 a ...

  8. urls.py的配置[路由配置]

    urls.py的配置[路由配置] Get请求与Post请求的方式 get请求: (1)地址栏输入url (2)<a href="请求url">点击</a> ...

  9. Windows两个网卡配置路由规则 同时访问内网和外网

    电脑上有两个网卡,一个有线一个无线,有线连局域网,无线连外网,虽然两个网都连着,但还是会出现访问不通的情况. 这就要求我们自己来配置路由规则,让内网的访问走内网的网卡,外网的访问走外网的网卡. 一.查 ...

随机推荐

  1. Linux X86-64 进程内存空间布局

    http://blog.csdn.net/woshinia/article/details/41722085 http://www.lenky.info/archives/2012/04/1424 h ...

  2. JSON数据转换到POCO的代码

    转载:http://www.cnblogs.com/wintersun/archive/2012/09/14/2684708.html 在Visual Studio 2012中轻松把JSON数据转换到 ...

  3. 静态资源(StaticResource)和动态资源(DynamicResource)

    静态资源(StaticResource)和动态资源(DynamicResource) 资源可以作为静态资源或动态资源进行引用.这是通过使用 StaticResource 标记扩展或 DynamicRe ...

  4. Linux下查找命令(收集整理)

    原文:http://blog.csdn.net/sunstars2009918/article/details/8510878 一.Linux查找文件的相关命令 常 用 命 令 简要中文说明 程序所在 ...

  5. Silverlight:《Pro Silverlight5》读书笔记 之 Layout

    Layout The Layout Containers The Panel Background By default, the Background of a layout panel is se ...

  6. 轻量级java开发(一)-Hibernate 安装

    1.从http://hibernate.org/orm/downloads/下载Hibernate 目前最新版是4.3.0.Final  支持JPA 2.1 support 2.解压下载的压缩文件,导 ...

  7. unity3d-地图制作之暗光

    最近看了暗黑破坏神3的视频,看到游戏里面的场景画面,颇有感触. 画面可谓做的极好的,虽然我审美观不是那么滴好,但是这游戏就让我看的赏心悦目,就让我好想来撸那么一把. 看完暗黑视频后,我就开始研究里面的 ...

  8. 卷积神经网络CNN 手写数字识别

    1. 知识点准备 在了解 CNN 网络神经之前有两个概念要理解,第一是二维图像上卷积的概念,第二是 pooling 的概念. a. 卷积 关于卷积的概念和细节可以参考这里,卷积运算有两个非常重要特性, ...

  9. HTML:图片和视频标签的使用

    介绍:在html网页中,图片和视频是基本的元素,在网页中插入图片和视频有自己的标签,分别是img.embed,来源都是使用src来链接. 插入图片: <img src="图片的来源&q ...

  10. CSS_LESS 语法/函数详解

    嵌套规则 01 #header { color: black; }#header .navigation {  font-size: 12px; 02 }#header .logo {  03   w ...