ThinkPHP函数体系分单字母快捷函数(如C、D、I)和语义化助手函数(如input、view、url),新版6.x主推后者,旧版3.x/5.x仍常用前者;核心包括配置(C/config/env)、请求(input/param/request)、视图(view/redirect/json)、工具(dump/trace/url/session/cookie)四类高频函数。

ThinkPHP 的函数体系分两类:一类是单字母快捷函数(如 C、D、I),另一类是语义化助手函数(如 input()、view()、url())。新版(6.x)已弱化单字母函数,主推语义化助手函数;旧版(3.x/5.x)仍广泛使用单字母函数。下面按实际开发高频场景整理核心用法。
配置与环境相关函数
快速读写配置和判断运行环境是基础操作。
-
C():获取或设置配置项。例如
C('app.debug')获取调试开关;C('database.hostname', '127.0.0.1')动态修改数据库主机。 -
env():读取 .env 文件或系统环境变量。比如
env('APP_ENV') === 'production'判断当前是否为生产环境。 -
config():新版推荐替代 C(),支持多维键名,如
config('app.default_lang')或config(['app.timezone' => 'Asia/Shanghai'])批量设置。
请求与输入处理函数
安全获取用户输入是防止漏洞的关键环节。
-
input():统一入口,自动识别 GET/POST/REQUEST 参数,并支持过滤和默认值。例如
input('post.username/s', '', 'htmlspecialchars')获取并转义用户名;input('id/d', 0)强制转为整型,默认为 0。 -
param():融合路由参数、GET 和 POST,适合 RESTful 场景。如访问
/user/123?status=1,param('id')得到 123,param('status')得到 1。 -
request():返回 Request 对象,可链式调用。常用
request()->isAjax()、request()->ip()、request()->file('avatar')处理上传文件。
视图与响应控制函数
控制器中快速返回内容,无需手动 new Response 或 assign。
-
view():渲染模板并传参,等价于
return View::fetch('index', ['data' => $list])。支持直接传数组:view(['title' => '首页', 'list' => $items])。 -
redirect():跳转,支持路径、URL、带参数和状态码。例如
redirect('@admin/user/index')跳转后台用户列表;redirect('/login', 302, [], 2)延迟 2 秒跳转。 -
json()、xml()、jsonp():一键返回结构化数据。如
return json(['code' => 0, 'msg' => 'ok'])自动设置 Content-Type 为 application/json。
工具与调试辅助函数
提升开发效率和问题定位能力。
-
dump():替代 var_dump,输出更清晰,支持多变量。如
dump($user, $profile)同时查看两个变量结构。 -
trace():记录日志到 trace 页面(仅 debug 模式生效),常配合
trace('start', 'logic')标记流程节点。 -
url():生成 URL,支持路由名、模块/控制器/操作及参数。例如
url('user/read', ['id' => 5, 'type' => 'detail'])输出/user/read/id/5/type/detail;url('index')生成首页地址。 -
session() 和 cookie():读写会话与 Cookie 更简洁。如
session('user.name')获取嵌套值;cookie('theme', 'dark', 3600)设置 1 小时有效期 Cookie。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











