一、打开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. 分享一个 markdown 编辑器 - Mditor

    只求极致 [ M ] arkdown + E [ ditor ] = Mditor Mditor 是一个简洁.易于集成.方便扩展.期望舒服的编写 markdown 的编辑器,仅此而已... 主页: h ...

  2. easyui 后台页面,在Tab中的链接点击后添加一个新TAB的解决方法

    1.示例1 新增一个按钮 添加点击事件 onclick="self.parent.addTab('百度','http://www.baidu.com','icon-add')" 如 ...

  3. 数学图形(2.7)sphere sine wave

    在球上以SIN曲线的轨迹游走. #http://www.mathcurve.com/courbes3d/couronnetangentoidale/couronnetangentoidale.shtm ...

  4. iOS公布app到App Store教程

    要公布首先须要公布证书,其获取和安装的基本流程和真机调试证书一致,关于真机调试证书的获取和使用能够參考这篇文章.只是如今Xcode7不须要真机调试证书也可实现真机调试了.能够參考这篇文章. 要获取证书 ...

  5. Android -- SurfaceView绘制

    SurfaceView SurfaceView是View的一个特殊子类,它的目的是另外提供一个线程进行绘制操作. 步骤 1.用SurfaceView进行绘制,首先要创建一个类,继承 SurfaceVi ...

  6. 全民Scheme(2):来自星星的你

    一门编程语言,假设不能对你思考编程的方式产生影响.就不值得去学习.--  Alan Perlis (define rember*   (lambda (a list)     (cond       ...

  7. magento 12 配置安装教程

    Magento (麦进斗) 是一套专业开源的电子商务系统.Magento设计得非常灵活,具有模块化架构体系和丰富的功能.易于与第三方应用系统无缝集成.其面向企业级应用,可处理各方面的需求,以及建设一个 ...

  8. centos安装问题集合

    1.版本选择可能直接打开www.centos.org打不开,但是可以打开http://wiki.centos.org/zh/Download,直接找到centos下载列表, (1)i386:支持32位 ...

  9. C#应用视频教程1.4 实现完整以太网通讯

    对于事件和委托机制不够理解的读者可以参考本节提供的委托相关的范例程序,这个是控制台的程序,比较简洁(书店发布一本书的事件注册到某个读者A身上,原理跟前面一小节讲的是一致的,只不过没有通过委托对外发送数 ...

  10. angularjs中的ng-src和ng-href

    ng-src和ng-href等同于html中的src和href,只是ng是在dom加载完毕之后才能够发挥作用,如果在src或href中绑定变量,如果ng没有加载完,会导致链接地址出错,如果用对应的ng ...