1.控制器

1-1.加载页面【使用系统函数eg:http://ww:7070/tp5-2/public/admin/test/load】

1-2.加载页面【继承控制器方法eg:http://ww:7070/tp5-2/public/admin/test/load1或者2】

1-3.数据的返回格式【在config.php中设置,默认是html eg:http://ww:7070/tp5-2/public/admin/test/data】

1-4.控制器的初始化【注意:必须继承控制器 eg:http://ww:7070/tp5-2/public/admin/int】

1-5.前置操作【注意:必须继承控制器 eg:http://ww:7070/tp5-2/public/admin/before】

1-6.页面跳转:【注意:必须继承控制器 eg:http://ww:7070/tp5-2/public/admin/login】

修改跳转过渡页面【config.php查找位置】

 // 默认跳转页面对应的模板文件
'dispatch_success_tmpl' => THINK_PATH . 'tpl' . DS . 'dispatch_jump.tpl',
'dispatch_error_tmpl' => THINK_PATH . 'tpl' . DS . 'dispatch_jump.tpl',

过渡页面在【thinkphp/tpl/dispatch_jump.tpl】可以自行设置

1-7.重定向 【eg:http://ww:7070/tp5-2/public/admin/login/cdx】

1-8.空操作【eg:http://ww:7070/tp5-2/public/admin/login+其他】该控制器没有的方法都执行该方法

1-9.空控制器 在模块中没有的控制器会执行该控制器【http://ww:7070/tp5-2/public/index+其他】

注意:网站上线之前每一个控制器都要加空操作,另外每一个模块也要加一个空控制器

1-10.资源 用cmd命令来创建东西  切换到tp根目录【php think clear】

php think->make:controller app\index\controller\User创建资源控制器,修改资源路由Route::resource('user','index/User');

2.请求和url【eg:http://ww:7070/tp5-2/public/url/api/test1/a/2/b/2】

2-1.

1.请求方式:GET
2.资源类型:xml
3.访问的ip:127.0.0.1
4.请求参数:
array(2) {
["a"] => string(1) "2"
["b"] => string(1) "2"
}
5.某个请求参数:
array(1) {
["a"] => string(1) "2"
}
6.除了某个请求参数:
array(1) {
["b"] => string(1) "2"
}
7.是否ajax:
8.不含域名的请求地址:/tp5-2/public/url/api/test1/a/2/b/2
9.包含完整域名的地址:http://ww:7070/tp5-2/public/url/api/test1/a/2/b/2
10.获取当前域名:http://ww:7070
11.获取当前入口文件:/tp5-2/public/index.php
12.获取不含查询关键字的地址:/tp5-2/public/url/api/test1/a/2/b/2
13.获取原始地址:/tp5-2/public
14.获取url地址中的PATH_INFO:url/api/test1/a/2/b/2
15.获取url地址中的PATH_INFO不含后缀:url/api/test1/a/2/b/2
16.获取url地址中的后缀:
17.获取当前模块的名称:url
18.获取当前控制器的名称:Api
19.获取当前操作的名称:test1
20.获取路由:
array(2) {
["a"] => string(1) "2"
["b"] => string(1) "2"
}
21.获取调度:
array(2) {
["type"] => string(6) "module"
["module"] => array(3) {
[0] => string(3) "url"
[1] => string(3) "api"
[2] => string(5) "test1"
}
}
22.检测某个变量参数是否设置:
bool(false)
23.助手函数input()检测某个变量参数是否设置:
bool(false)
24.获取某个请求参数param(name)方法 过滤过:
string(1) "2"
25.获取请求参数param() 未过滤:
array(2) {
["a"] => string(1) "2"
["b"] => string(1) "2"
}
25.获取请求参数param(true) 包含上传文件:
array(2) {
["a"] => string(1) "2"
["b"] => string(1) "2"
}
26.get().post().delete().put().request().server().session().cookie()都一样 加参获取某个 true原始数据 无参过滤的数据
27.助手函数input input(get)
28.助手函数input input(get.a)

2-2.请求参数过滤,更改以及排除【http://localhost:7070/tp5-2/public/url/api/test2/?a=123】

2-3.请求类型判断

// 是否为 GET 请求
if (Request::instance()->isGet()) echo "当前为 GET 请求";
// 是否为 POST 请求
if (Request::instance()->isPost()) echo "当前为 POST 请求";
// 是否为 PUT 请求
if (Request::instance()->isPut()) echo "当前为 PUT 请求";
// 是否为 DELETE 请求
if (Request::instance()->isDelete()) echo "当前为 DELETE 请求";
// 是否为 Ajax 请求
if (Request::instance()->isAjax()) echo "当前为 Ajax 请求";
// 是否为 Pjax 请求
if (Request::instance()->isPjax()) echo "当前为 Pjax 请求";
// 是否为手机访问
if (Request::instance()->isMobile()) echo "当前为手机访问";
// 是否为 HEAD 请求
if (Request::instance()->isHead()) echo "当前为 HEAD 请求";
// 是否为 Patch 请求
if (Request::instance()->isPatch()) echo "当前为 PATCH 请求";
// 是否为 OPTIONS 请求
if (Request::instance()->isOptions()) echo "当前为 OPTIONS 请求";
// 是否为 cli
if (Request::instance()->isCli()) echo "当前为 cli";
// 是否为 cgi
if (Request::instance()->isCgi()) echo "当前为 cgi";

2-4.获取头部信息【http://localhost:7070/tp5-2/public/url/api/test3】

tp5总结(三)的更多相关文章

  1. think PHP5中,模板、控制器、JavaScript的url跳转重定向方法

    php控制器中的跳转: 1, header()函数是PHP中进行页面跳转的一种十分简单的方法.主要功能是将HTTP协议标头(header)输出到浏览器. header("Location: ...

  2. tp5使用外部类的三种方法

    在tp5中使用外部类的时候有三种方法 第一种就是通过composer下载,通过这种方式下载的外部类能够支持自动加载,我们只要在使用的时候use一下命名空间就可以使用了 比如:我们的tp5第四季项目要使 ...

  3. 记录一下我的三天清明节假期,TP5.1写企业站

    在假期前就计划利用这三天时间写一个企业站,包括pc和wap,和微信公众平台 在计划时有些功能没有想好,导致后面踩了不少坑,前期计划一定要尽量做详细,表字段设计也要考虑好,不然后期开始写代码时会需要来回 ...

  4. 学习tp5的第三天(模型)

    一.模型 1.定义基础模型 <?php namespace app\index\model; use think\Model; class User extends Model{ // 设置完整 ...

  5. tp5中很牛皮的一句sql语句,三个条件(两个不确定条件,一个硬性条件)

    $result = Db::table('xxxxxx')   // 表名 ->alias('g') ->join('xxxxx_2 u','g.user_id = u.id') -> ...

  6. TP5学习基础二:目录结构、URL路由、数据操作

    一.安装1.使用git或者composer(composer update)进行实时更新,区别在于git不会清空核心框架目录而composer会清空.2.使用官网打包好的TP压缩包(解压即可用)-&g ...

  7. tp5框架的获取器

    tp5的获取器功能很强大,一下子就喜欢上了,你可以在模块里任意定义表里不存在的字段,在前台调用很方便.话不多说直接上demo: 1.命名规则   get + 属性名的驼峰命名+ Attr 直接就能在m ...

  8. 接口开发,tp5结合swagger-ui安装方法

    今天看到老java用的swagger提供接口,美观好用,方便维护,不是写好接口之后再写接口文档,麻烦的要死.网上找了找结合php的方法,在此记录一下,以后再开发接口就可以方便很多了. Swagger的 ...

  9. TP5 路由使用

    这里可以直接从第四条开始看 原文http://www.upwqy.com/details/12.html 1 文档链接 tp5路由官方文档  https://www.kancloud.cn/manua ...

随机推荐

  1. C/C++中的回调函数

    在理解“回调函数”之前,首先讨论下函数指针的概念. 函数指针 (1)概念:指针是一个变量,是用来指向内存地址的.一个程序运行时,所有和运行相关的物件都是需要加载到内存中,这就决定了程序运行时的任何物件 ...

  2. 让你快速学会Shell脚本

    Shell脚本,就是利用Shell的命令解释的功能,对一个纯文本的文件进行解析,然后执行这些功能,也可以说Shell脚本就是一系列命令的集合.Shell可以直接使用在win/Unix/Linux上面, ...

  3. mongo ttl索引

    db.log_events.find()                                     # 查找log_events里的所有数据   db.log_events.create ...

  4. 手把手教你使用koa2

    简介 koa是由express的原班人马打造的web框架.但是相对于express,koa的性能要更高,因为koa通过使用aysnc函数,帮你丢弃回调函数,并有力的增强了错误处理.而且koa没有绑定任 ...

  5. [洛谷P4491] [HAOI2018]染色

    洛谷题目链接:[HAOI2018]染色 题目背景 HAOI2018 Round2 第二题 题目描述 为了报答小 C 的苹果, 小 G 打算送给热爱美术的小 C 一块画布, 这块画布可 以抽象为一个长度 ...

  6. Spyder docstrings文档字符串的标准

    Spyder docstrings文档字符串的规范 python的docstring 非常重要. 有时候编写一个小函数只需要几行代码就可了. 但是完善的文档很可能比源代码长许多. 特点和标准 docs ...

  7. spring-boot添加自定义拦截器

    spring-boot中的WebMvcConfigurerAdapter类提供了很多自定义操作的方法,先贴出来大家看看 package org.springframework.web.servlet. ...

  8. [转载]如何做到 jQuery-free?

    http://www.ruanyifeng.com/blog/2013/05/jquery-free.html jQuery是现在最流行的JavaScript工具库. 据统计,目前全世界57.3%的网 ...

  9. 【leetcode 简单】 第八十题 3的幂

    给定一个整数,写一个函数来判断它是否是 3 的幂次方. 示例 1: 输入: 27 输出: true 示例 2: 输入: 0 输出: false 示例 3: 输入: 9 输出: true 示例 4: 输 ...

  10. MongoDB警告信息

    更多内容推荐微信公众号,欢迎关注: MongoDB警告信息: 1. WARNING: Using the XFS filesystem is strongly recommended with the ...