`
lyz8jj0
  • 浏览: 20019 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

thinkphp 请求信息

阅读更多
如果要获取当前的请求信息,可以使用\think\Request类,
除了下文中的
$request = Request::instance();

也可以使用助手函数
$request = request();

    当然,最方便的还是使用注入请求对象的方式来获取变量。
例如:
获取URL信息
$request = Request::instance();
// 获取当前域名
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/>';

输出结果为:

domain: http://tp5.com
file: /index.php
url: /index/index/hello.html?name=thinkphp
url with domain: http://tp5.com/index/index/hello.html?name=thinkphp
url without query: /index/index/hello.html
root:
root with domain: http://tp5.com
pathinfo: index/index/hello.html
pathinfo: index/index/hello
ext: html


设置/获取 模块/控制器/操作名称
$request = Request::instance();
echo "当前模块名称是" . $request->module();
echo "当前控制器名称是" . $request->controller();
echo "当前操作名称是" . $request->action();


如果当前访问的地址是 http://serverName/index.php/index/hello_world/index
输出结果为:

当前模块名称是index
当前控制器名称是HelloWorld
当前操作名称是index

设置模块名称值需要向module方法中传入名称即可,同样使用于设置控制器名称和操作名称
Request::instance()->module('module_name');

获取请求参数
$request = Request::instance();
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']));

输出结果为:

请求方法:GET
资源类型:html
访问ip地址:127.0.0.1
是否Ajax请求:false
请求参数:
array (size=2)
  'test' => string 'ddd' (length=3)
  'name' => string 'thinkphp' (length=8)
  
请求参数:仅包含name
array (size=1)
  'name' => string 'thinkphp' (length=8)
  
请求参数:排除name
array (size=1)
  'test' => string 'ddd' (length=3)

分享到:
评论

相关推荐

    thinkphp3 与thinkphp5 日志信息泄露检测脚本.zip

    在IT安全领域,日志信息泄露是一个严重的安全隐患,特别是对于基于框架构建的Web应用程序,如ThinkPHP。这个压缩包文件“thinkphp3与thinkphp5日志信息泄露检测脚本.zip”提供了针对ThinkPHP 3和ThinkPHP 5版本的...

    thinkphp5.0.24+queue 队列信息完整源码

    《ThinkPHP5.0.24与Queue队列技术详解》 在PHP开发领域,ThinkPHP框架因其简洁高效的特性而广受欢迎,特别是在企业级应用中,其提供的队列功能能够帮助开发者实现异步任务处理,提高系统性能。本文将详细探讨在...

    基于ThinkPHP的后台信息发布系统

    【标题】"基于ThinkPHP的后台信息发布系统"揭示了这个项目是使用ThinkPHP框架来构建的一个后台管理系统,其核心功能集中在信息的管理上。ThinkPHP是中国国内广泛应用的PHP开发框架,以其简洁、高效的MVC模式和丰富的...

    ThinkPHP 5.0.0_5.0.23 RCE 漏洞分析1

    当请求的 URL 中包含特殊的参数时,ThinkPHP 会将其作为方法来调用,导致攻击者可以 inject 任意代码。 具体来说,该漏洞的触发过程如下: 1. 攻击者构造特殊的 URL,例如 `index....

    thinkphp完整源码.rar

    3.1 Router:路由系统是ThinkPHP的核心部分,它负责处理URL请求,根据配置规则映射到相应的控制器和方法。 3.2 Controller:控制器处理业务逻辑,接收并处理来自视图的数据,调用模型进行数据操作,然后返回结果到...

    thinkphp的请求

    本文包括了thinkphp6的请求学习知识

    ThinkPHP6.0完全开发手册

    本手册主要讲述ThinkPHP 6.0框架的使用和开发指南,涵盖了ThinkPHP 6.0的基础知识、开发规范、配置架构、请求流程、控制器、模型、视图、模板引擎、日志处理、调试、验证、缓存、Session、Cookie、多语言、上传、...

    ThinkPHP5快速入门

    在ThinkPHP5中,Controller负责处理用户请求,Model处理数据操作,而View则负责显示结果。 在开始学习之前,确保你已经安装了PHP环境和ThinkPHP5框架。安装过程可以通过Composer完成,这是PHP的依赖管理工具。一旦...

    ThinkPHP5快速入门手册

    ThinkPHP5.0版本相较于以往版本,引入了很多新的特性,包括更灵活的路由管理、依赖注入、请求缓存、增强的查询语法、路由地址反解生成、改进的模型功能等。这些新特性不仅加强了ThinkPHP的功能,也提升了开发的效率...

    ThinkPHP根据获取的ip获取地理位置信息

    本篇文章将深入探讨如何在ThinkPHP框架下,利用网络协议获取并处理IP数据,从而得到地理位置信息。 首先,理解IP地址是关键。IP(Internet Protocol)地址是互联网上设备的唯一标识,分为IPv4和IPv6两种类型。通常...

    thinkphp5小例子

    1. **路由系统**:在Thinkphp5中,路由是应用程序的入口,负责将HTTP请求映射到相应的控制器和操作。你可以通过配置路由规则来定制URL结构,提高URL的友好性和可读性。例如,设置一个登录路由`Route::rule('login', ...

    ThinkPHP5.0.5完整版_ThinkPHP_full_v5.0.5

    - **README.md**:提供了项目的基本信息和使用指南,帮助开发者快速了解项目。 - **build.php**:用于构建项目的脚本,通常包括编译、压缩等自动化任务。 - **think**:框架的入口文件,负责初始化环境并执行请求...

    thinkPHP开发的小程序

    ThinkPHP框架可以轻松处理音乐数据的增删查改,比如通过数据库模型操作歌曲信息。开发者可能利用Ajax技术实现页面无刷新的音乐切换,提供良好的用户体验。同时,考虑到版权问题,可能会有接口与外部音乐服务提供商...

    ThinkPHP完美后台模板

    7. **Conf**:配置文件夹,存储着应用的配置信息,如数据库连接、路由设置等,方便管理和调整应用的运行参数。 该模板的设计遵循了良好的代码组织原则,使得开发者可以快速理解和上手。通过调整和扩展这些核心组件...

    Thinkphp5 Paypal支付

    在本项目中,Thinkphp5作为基础框架,负责处理请求、响应、数据处理和业务逻辑。 2. **PayPal支付**:PayPal是全球知名的在线支付平台,支持商家和个人之间的资金转账,广泛应用于电子商务网站。其API允许开发者...

    免费thinkPHP3.2.3框架

    3. `README.md`:项目说明文件,通常包含框架的基本信息、安装步骤和快速入门指南。 4. `index.php`:框架的入口文件,负责加载环境配置和启动框架。 5. `Public`:存放静态资源的目录,如CSS、JavaScript和图片。 6...

    基于thinkphp的开源oa系统

    【标题】"基于thinkphp的开源oa系统"指的是一个使用ThinkPHP框架开发的开放源代码办公自动化(Office Automation,简称OA)系统。ThinkPHP是中国较早的PHP开发框架之一,以其简洁、高效的特性受到广大开发者喜爱。这...

    thinkphp问卷,thinkphp问卷系统,PHP

    其中,前端可能使用HTML、CSS和JavaScript构建,而后端则是ThinkPHP框架的PHP代码,负责接收请求、处理数据和返回响应。 MVC(Model-View-Controller)架构模式是ThinkPHP的核心设计模式。Model代表数据模型,负责...

    ThinkPHP6.0.zip

    同时,其日志模块支持多种驱动,如文件、数据库、 syslog等,便于记录和分析运行时信息。 7. **安全防护**:内置的安全组件提供了输入验证、XSS防护、CSRF防护等,帮助开发者构建更安全的应用。同时,框架还支持...

    thinkPHP6接口编写示例

    `.env`文件用于存储应用的环境变量,如数据库连接信息,这有助于在开发、测试和生产环境中保持配置的一致性和安全性。同时,`.travis.yml`是持续集成工具Travis CI的配置文件,可以自动运行测试并部署代码,确保代码...

Global site tag (gtag.js) - Google Analytics