• tp5总结(三)


    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 appindexcontrollerUser创建资源控制器,修改资源路由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】

  • 相关阅读:
    实战SpringCloud响应式微服务系列教程(第八章)构建响应式RESTful服务
    说说hashCode() 和 equals() 之间的关系?
    说说Object类下面有几种方法呢?
    Redis中是如何实现分布式锁的?
    从实践角度重新理解BIO和NIO
    数据的异构实战(一) 基于canal进行日志的订阅和转换
    The base command for the Docker CLI.
    Installing Jenkins to Centos Docker
    Docker Community Edition for CentOS
    Kafka自我学习-报错篇
  • 原文地址:https://www.cnblogs.com/douyaer/p/8094277.html
Copyright © 2020-2023  润新知