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

thinkphp输出变量

阅读更多
概述

可以通过Request对象完成全局输入变量的检测、获取和安全过滤,支持包括$_GET、$_POST、$_REQUEST、$_SERVER、$_SESSION、$_COOKIE、$_ENV等系统变量,以及文件上传信息。
检测变量是否设置

可以使用has方法来检测一个变量参数是否设置,如下:
Request::instance()->has('id','get');
Request::instance()->has('name','post');

或者使用助手函数

input('?get.id');
input('?post.name');

变量检测可以支持所有支持的系统变量。
变量获取

变量获取使用\think\Request类的如下方法及参数:

    变量类型方法(‘变量名/变量修饰符’,‘默认值’,‘过滤方法’)

变量类型方法包括:
方法 描述
param 获取当前请求的变量
get 获取 $_GET 变量
post 获取 $_POST 变量
put 获取 PUT 变量
delete 获取 DELETE 变量
session 获取 $_SESSION 变量
cookie 获取 $_COOKIE 变量
request 获取 $_REQUEST 变量
server 获取 $_SERVER 变量
env 获取 $_ENV 变量
route 获取 路由(包括PATHINFO) 变量
file 获取 $_FILES 变量
获取PARAM变量

PARAM变量是框架提供的用于自动识别GET、POST或者PUT请求的一种变量获取方式,是系统推荐的获取请求参数的方法,用法如下:
// 获取当前请求的name变量
Request::instance()->param('name');
// 获取当前请求的所有变量(经过过滤)
Request::instance()->param();
// 获取当前请求的所有变量(原始数据)
Request::instance()->param(false);
// 获取当前请求的所有变量(包含上传文件)
Request::instance()->param(true);

    param方法会把当前请求类型的参数和PATH_INFO变量以及GET请求合并。

使用助手函数实现:

input('param.name');
input('param.');
或者
input('name');
input('');

因为input函数默认就采用PARAM变量读取方式。

获取GET变量
Request::instance()->get('id'); // 获取某个get变量
Request::instance()->get('name'); // 获取get变量
Request::instance()->get(); // 获取所有的get变量(经过过滤的数组)
Request::instance()->get(false); // 获取所有的get变量(原始数组)

或者使用内置的助手函数input方法实现相同的功能:

input('get.id');
input('get.name');
input('get.');

    注:pathinfo地址参数不能通过get方法获取,查看“获取PARAM变量”

获取POST变量
Request::instance()->post('name'); // 获取某个post变量
Request::instance()->post(); // 获取经过过滤的全部post变量
Request::instance()->post(false); // 获取全部的post原始变量

使用助手函数实现:

input('post.name');
input('post.');

获取PUT变量
Request::instance()->put('name'); // 获取某个put变量
Request::instance()->put(); // 获取全部的put变量(经过过滤)
Request::instance()->put(false); // 获取全部的put原始变量

使用助手函数实现:

input('put.name');
input('put.');
分享到:
评论

相关推荐

    ThinkPHP模板之变量输出、自定义函数与判断语句用法

    在ThinkPHP模板中,有多种方式来输出变量。例如,使用`{:}`快捷输出变量,如`{:function(…)}`执行方法并输出返回值;`{~function}`执行方法但不输出;`{@var}`输出Session变量;`{#var}`输出Cookie变量;`{&var}`...

    thinkphp_thinkphp_thinkphp5_

    例如,`{{ $title }}`将输出控制器中赋值的变量 `$title`。此外,ThinkPHP5还支持视图布局、视图继承、视图插件等功能,使得页面的构建更加高效。 标签“thinkphp thinkphp5”提示我们,这个模板实例专注于ThinkPHP...

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

    这些日志文件通常包含敏感数据,如数据库连接信息、用户输入、系统环境变量等。如果未正确配置或保护,日志信息可能被恶意用户获取,导致数据泄露,对用户隐私和系统安全构成威胁。 在ThinkPHP 3和5中,日志配置...

    ThinkPHP模版引擎之变量输出详解

    我们已经知道了在Action中使用assign方法可以给模板变量赋值,赋值后怎么在模板文件中输出变量的值呢? 如果我们在Action中赋值了一个name模板变量: 复制代码 代码如下:$name = ‘ThinkPHP’; $this->assign(‘name’...

    thinkPHP控制器变量在模板中的显示方法示例

    在模板文件中,可以使用PHP的语法直接输出变量。例如,在模板文件中可以使用以下代码: echo $type; 其中,$type是之前通过assign方法传递到模板中的变量。这种方法适用于模板文件中需要执行PHP代码的场景。 二...

    配置好的thinkphp,包括简单示例

    ThinkPHP内置了模板引擎,允许开发者使用PHP语法编写模板,通过`{$}`符号输出变量,`<volist>`等标签处理循环数据。 10. **错误处理与调试** ThinkPHP提供了详细的错误报告和日志记录功能,通过`config.php`中的`...

    ThinkPHP5.0完全开发手册.pdf

    6. **视图模板**:模板引擎是Web开发中的核心环节,ThinkPHP5.0提供了强大的模板引擎功能,包括模板赋值、渲染输出、标签库使用等,大大增强了前端页面的表现力和动态性。 7. **安全与调试**:安全是任何Web应用...

    thinkphp中常用的系统常量和系统变量

    语言变量在ThinkPHP中用于输出项目的当前语言定义值,如`{$Think.lang.page_error}`。开发者可以通过`$Think.lang`访问语言包中的定义,这在多语言环境下非常有用。 配置参数是另一个重要的部分,可以通过`$Think....

    ThinkPHP3.1.3完整包

    ThinkPHP3.1.3版本相对于上一版本更加安全和易用,是一个建议升级的版本。 更新 该版本针对3.1.2进行了一些改进和完善,主要包括: 改进异常处理,支持致命错误捕获; 针对PDO驱动和Sqlsrv驱动的完善,支持参数...

    thinkphp5.chm

    开发者可以在视图文件中调用 `$this->assign()` 分配变量,并使用 `{$var}` 输出。 六、控制器(Controller) 控制器处理用户的请求,调用模型进行业务逻辑处理,然后返回视图进行展示。ThinkPHP5 鼓励使用单一职责...

    ThinkPHP3.2.x RCE漏洞通报1

    利用这个漏洞的条件是,目标应用必须使用ThinkPHP 3.2.3版本,并且在控制器中使用了`assign`方法来传递可被攻击者控制的变量到模板。一个简单的示例代码如下: ```php namespace Home\Controller; use Think\...

    ThinkPHP5.0完全开发手册PDF版

    - 异常处理机制和调试信息的输出,Trace调试方法和性能调试。 - 安全建议,包括输入、数据库、上传和其他安全措施。 **扩展和部署**: - Composer包管理器的使用,Time类库、命令行工具和自定义命令。 - 数据库迁移...

    ThinkPHP 5开发手册

    - 模板标签:支持各种模板标签,如循环输出、条件判断、变量输出等。 #### 视图与布局 - 视图布局:允许开发者使用布局来组织视图文件,可以定义主布局和局部布局。 - 原生PHP支持:支持在模板中直接使用原生PHP...

    ThinkPHP有变量的where条件分页实例

    其中,使用变量作为where条件进行分页查询是常见的需求,本文就将详细介绍如何在ThinkPHP框架中实现带有变量条件的分页查询。 在ThinkPHP中,分页主要是依靠内置的分页类Page来完成。要实现带有变量的where条件分页...

    ThinkPHP3.2完全开发手册CHM

    模板引擎提供了丰富的内置函数和标签,例如`{$var}`用于输出变量,`<eq name='a' value='b'>`用于条件判断等,使模板编写更加灵活。 ThinkPHP 3.2还包含了丰富的辅助函数和插件系统,这些函数可以简化日常开发工作...

    基于ThinkPHP5 三层分销

    框架内置的模板引擎支持变量赋值、条件判断、循环遍历等操作,使得模板文件可以灵活地显示动态数据。开发者可以在控制器中处理业务逻辑后,将数据传递给视图,再由模板引擎负责解析并输出HTML。 至于“tp5三层分销...

    ThinkPHP5.0完全开发手册

    在模板方面,ThinkPHP5.0提供了强大的模板功能,支持视图模板、视图实例化模板引擎、模板赋值、模板渲染输出替换、模板定位、模板标签变量输出系统变量请求参数使用函数使用默认值使用运算符三元运算原样输出模板...

    thinkphp5.0.24.zip

    它可以进行条件判断、循环控制等操作,同时支持变量输出和函数调用,让开发者能快速构建出美观且功能丰富的用户界面。 五、中间件机制 ThinkPHP5.0.24引入了中间件(Middleware)的概念,这是一种处理请求和响应的...

    Thinkphp项目模板job

    例如,`{eq name='var' value='value'}...{/eq}`用于条件判断,`{$var}`用于变量输出。 6. **插件与行为**:ThinkPHP支持插件开发和行为扩展,可以增加系统的可扩展性和复用性。开发者可以在`Behavior`目录下创建...

    ThinkPHP6.0完全开发手册-02181028.pdf

    在ThinkPHP6.0中,请求是通过请求对象进行处理的,包括HTTP头信息、请求信息、输入变量、请求类型、伪静态、参数绑定、请求缓存、响应输出、响应参数、重定向、文件下载、响应数据库连接等。 ThinkPHP6.0提供了丰富...

Global site tag (gtag.js) - Google Analytics