`

TP5 请求信息和页面跳转

阅读更多
<?php
namespace app\index\controller;
use think\Request;
class Index
{
    /**
     * 请求信息
     * */
    public function hello(Request $request,$name = 'World')
    {
        echo '获取当前访问的url地址:<br>';
        $request = Request::instance();
        // 获取当前URL地址 不含域名
        echo 'url: ' . $request->url() . '<br/>';
        
        echo '<br>获取请求参数:<br>';
        echo '请求方法:' . $request->method() . '<br/>';
        echo '资源类型:' . $request->type() . '<br/>';
        echo '访问IP:' . $request->ip() . '<br/>';
        echo '是否AJax请求:' . var_export($request->isAjax(), true) . '<br/>';
        echo '请求参数:';
        dump($request->param());
        echo '请求参数:仅包含name';
        dump($request->only(['name']));
        echo '请求参数:排除name';
        dump($request->except(['name']));
        
        echo '<br>获取URL信息:<br>';
        // 获取当前域名
        echo 'domain: ' . $request->domain() . '<br/>';
        // 获取当前入口文件
        echo 'file: ' . $request->baseFile() . '<br/>';
        // 获取当前URL地址 不含域名
        echo 'url: ' . $request->url() . '<br/>';
        // 获取包含域名的完整URL地址
        echo 'url with domain: ' . $request->url(true) . '<br/>';
        // 获取当前URL地址 不含QUERY_STRING
        echo 'url without query: ' . $request->baseUrl() . '<br/>';
        // 获取URL访问的ROOT地址
        echo 'root:' . $request->root() . '<br/>';
        // 获取URL访问的ROOT地址
        echo 'root with domain: ' . $request->root(true) . '<br/>';
        // 获取URL地址中的PATH_INFO信息
        echo 'pathinfo: ' . $request->pathinfo() . '<br/>';
        // 获取URL地址中的PATH_INFO信息 不含后缀
        echo 'pathinfo: ' . $request->path() . '<br/>';
        // 获取URL地址中的后缀信息
        echo 'ext: ' . $request->ext() . '<br/>';
        
        echo '<br>获取当前模块/控制器/操作信息:<br>';
        echo '模块:'.$request->module();
        echo '<br/>控制器:'.$request->controller();
        echo '<br/>操作:'.$request->action();

        echo '<br>获取路由和调度信息:<br>';
        echo '路由信息:';
        dump($request->routeInfo());
        echo '调度信息:';
        dump($request->dispatch());
    }

    /**
     * 页面跳转
     * */
    use \traits\controller\Jump;
    public function index($name='')
    {
        if ('thinkphp' == $name) {
            $this->success('欢迎使用ThinkPHP5.0','aaa');
        }else if('onestopweb' == $name){
            $this->redirect('http://onestopweb.iteye.com');
        }else {
            $this->error('错误的name','bbb');
        }
    }
    public function aaa()
    {
        return 'Hello,ThinkPHP!';
    }
    public function bbb()
    {
        return 'Hello,Guest!';
    }
}

 

请求信息的效果文本:

获取当前访问的url地址:
url: /index/index/hello/test/ddd.html?name=thinkphp

获取请求参数:
请求方法:GET
资源类型:xml
访问IP:127.0.0.1
是否AJax请求:false
请求参数:
array(2) {
  ["name"] => string(8) "thinkphp"
  ["test"] => string(3) "ddd"
}
请求参数:仅包含name
array(1) {
  ["name"] => string(8) "thinkphp"
}
请求参数:排除name
array(1) {
  ["test"] => string(3) "ddd"
}

获取URL信息:
domain: http://tp5.com
file: /index.php
url: /index/index/hello/test/ddd.html?name=thinkphp
url with domain: http://tp5.com/index/index/hello/test/ddd.html?name=thinkphp
url without query: /index/index/hello/test/ddd.html
root:
root with domain: http://tp5.com
pathinfo: index/index/hello/test/ddd.html
pathinfo: index/index/hello/test/ddd
ext: html

获取当前模块/控制器/操作信息:
模块:index
控制器:Index
操作:hello
获取路由和调度信息:
路由信息:
array(0) {
}
调度信息:
array(2) {
  ["type"] => string(6) "module"
  ["module"] => array(3) {
    [0] => string(5) "index"
    [1] => string(5) "index"
    [2] => string(5) "hello"
  }
}

 

页面跳转的效果图:

 

 

 

 

 

 

 

 

 

 

 

  • 大小: 8.8 KB
1
0
分享到:
评论

相关推荐

    漂亮 TP框架表单提交跳转页面

    在描述中提到的“非常漂亮美观,操作简单”,可能是指TP框架提供了易于使用的模板引擎和丰富的UI组件库,使得开发者可以轻松创建出美观的页面,并且通过简单的代码实现表单提交和页面跳转。 从“标签”中的“跳转...

    TP5 修改消息提示页面

    综上所述,"TP5 修改消息提示页面"涉及到的内容包括但不限于控制器方法的重写、视图模板的定制、Flash数据的使用、助手函数的扩展、中间件的编写、错误日志和调试、以及前端框架的集成和国际化支持。通过这些方法,...

    ThinkPHP的success并不跳转页面,而是直接输出json字符串的原因.zip解决ThinkPHP的success并不跳转页面,而是直接输出json字符

    如果设置了`ajax=1`,或者在请求头中设置了`X-Requested-With: XMLHttpRequest`,服务器会识别这是一个AJAX请求,因此`success`方法会按照预期返回JSON数据,而非执行页面跳转。 在ThinkPHP中,如果你希望在非AJAX...

    SpringBoot页面跳转访问css、js等静态资源引用无效解决.docx

    在SpringBoot应用中,开发人员经常遇到...通过以上步骤,你应该能够成功解决SpringBoot项目中页面跳转访问CSS、JS等静态资源引用无效的问题。记住,理解SpringBoot的默认配置以及如何对其进行自定义是解决问题的关键。

    Thinkphp页面跳转设置跳转等待时间的操作

    在Web开发中,页面跳转可以分为客户端跳转和服务器端跳转两种。客户端跳转依赖于浏览器解析HTML中的超链接或JavaScript代码,而服务器端跳转则由服务器通过发送特定的HTTP头信息实现。 2. ThinkPHP框架概述 ...

    TP5 支付宝支付

    在使用该库前,开发者需要在项目的配置文件中设置支付宝的参数,如AppID、商户私钥、支付宝公钥、异步通知地址和同步跳转地址。此外,为了确保支付过程的安全,需要对敏感信息进行加密处理,并在服务器上妥善保存...

    thinkphp5项目打包.zip

    2. "单独的静态页面controller控制器和view视图":这部分可能是项目的控制器层(Controller)和视图层(View)代码,展示了TP5的MVC架构如何处理前端请求和渲染响应。 3. "一整个php tp5框架 ajax无刷新分页+多条件...

    tp5开发手册

    10. 控制器:控制器是处理用户请求的主要部分,包括控制器的自动定位、资源控制器、请求控制器、定义、初始化、前置操作、跳转和重定向等。 11. 模型:模型是数据库操作的核心,手册介绍了模型的初始化、查询事件、...

    TP5整合支付宝在线下单

    在TP5中,我们可以通过配置文件、服务提供者和门面等机制来轻松管理各种业务逻辑和依赖注入,这在整合外部API如支付宝时非常有用。 整合支付宝在线下单,我们需要了解支付宝开放平台提供的SDK和API。支付宝提供了...

    tp5+微信HTML5支付调用微信接口

    用户在商家网站或APP内选择商品后,可以通过微信客户端完成支付,无需跳转到微信支付页面,提高了用户体验。 二、ThinkPHP5框架基础 1. MVC模式:ThinkPHP5采用MVC设计模式,将业务逻辑、数据和展示分离,使得代码...

    tp5框架无刷新分页实现方法分析

    在tp5中实现无刷新分页的实例代码表明,通过配置合适的jQuery事件监听器和AJAX请求,能够有效地实现无刷新分页功能。前端代码需要监听分页元素的点击事件,并在事件处理函数中计算出需要请求的新页码。然后,使用...

    TP5.0完全开发手册WORD版

    - **跳转和重定向**:提供了简便的方法来实现页面跳转和重定向。 - **空操作**:当请求的操作不存在时,默认执行的操作。 - **空控制器**:当请求的控制器不存在时,默认执行的控制器。 - **多级控制器**:支持多...

    解决thinkPHP 5 nginx 部署时,只跳转首页的问题

    在使用ThinkPHP 5框架结合Nginx服务器部署网站时,有时候会遇到一个特殊情况,即网站部署完成后只能够访问首页,无法跳转到其他页面或者接口。这种情况通常是由于Nginx的配置与ThinkPHP框架的路由规则不匹配导致的。...

    tp5.1完全开发手册

    - **控制器定义**:定义控制器的基本方法和属性,包括前置操作、跳转和重定向等。 - **资源控制器**:专门处理资源相关的操作,如列表展示、新建、编辑、删除等。 - **控制器中间件**:在控制器执行前后进行额外处理...

    支付宝支付(tp开发项目写的代码)

    7. **页面跳转与支付结果展示**:用户支付成功后,支付宝会重定向用户回商家设定的页面(return_url)。开发者需要在此页面展示支付结果,并处理可能出现的异常情况,如超时、失败等。 8. **退款功能**:在某些情况...

    tp3.2.3快速入门

    14. **页面跳转与重定向** - 控制用户界面流转。 15. **页面请求与AJAX** - 异步交互支持。 16. **伪静态设置** - URL美化。 17. **操作绑定到类** - 更高级的控制器组织方式。 18. **多层控制器结构** - 复杂项目的...

    thinkphp5 留言板代码 登录 发表留言等功能示例

    在ThinkPHP5中,Model处理数据,View负责展示,Controller处理用户请求并协调Model和View。在这个留言板系统中,Controller处理用户的登录、发表留言等请求,Model负责数据操作,而View则显示页面内容。 2. **...

    tp5.0完全开放手册

    - **跳转与重定向**:提供了各种跳转和重定向的方法,方便进行页面间的跳转。 - **空操作与空控制器**:定义了当指定的操作不存在时的行为,如返回错误信息或跳转到默认页面。 #### 请求与响应 - **请求信息**:...

    tp框架手册开发

    - **页面跳转**:实现页面之间的跳转。 - **重定向**:将当前请求重定向到另一个URL。 - **获取参数**:从URL、POST、GET等渠道获取参数。 - **AJAX返回**:处理异步请求时返回的数据格式。 #### 八、模型 - **模型...

Global site tag (gtag.js) - Google Analytics