Request请求对象和Response响应对象
$_GET、$_POST、$_REQUEST、$_COOKIE
调用请求对象$request=Request::instance()
$this->request或request()->url();助手函数
input()助手函数
响应格式 json xml 模板渲染
页面跳转 重定向
$this->success $this->error $this->redirect
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
<code><?php</code>
<code>namespace</code> <code>app\admin\controller;</code>
<code>use</code> <code>think\Request;</code>
<code>use</code> <code>think\Controller;</code>
<code>class</code> <code>Index </code><code>extends</code> <code>Controller</code>
<code>{</code>
<code> </code><code>public</code> <code>function</code> <code>index()</code>
<code> </code><code>{</code>
<code> </code><code>return</code> <code>'<style type="text/css">*{ padding: 0; margin: 0; } .think_default_text{ padding: 4px 48px;} a{color:#2E5CD5;cursor: pointer;text-decoration: none} a:hover{text-decoration:underline; } body{ background: #fff; font-family: "Century Gothic","Microsoft yahei"; color: #333;font-size:18px} h1{ font-size: 100px; font-weight: normal; margin-bottom: 12px; } p{ line-height: 1.6em; font-size: 42px }</style><div style="padding: 24px 48px;"> <h1>:)</h1><p> ThinkPHP V5<br/><span style="font-size:30px">十年磨一剑 - 为API开发设计的高性能框架</span></p><span style="font-size:22px;">[ V5.0 版本由 <a href="http://www.qiniu.com" target="qiniu">七牛云</a> 独家赞助发布 ]</span></div><script type="text/javascript" src="http://tajs.qq.com/stats?sId=9347272" charset="UTF-8"></script><script type="text/javascript" src="http://ad.topthink.com/Public/static/client.js"></script><thinkad id="ad_bd568ce7058a1091"></thinkad>'</code><code>;</code>
<code> </code><code>}</code>
<code> </code><code>public</code> <code>function</code> <code>hello(){</code>
<code> </code><code>// 获取请求类型</code>
<code> </code><code>if</code><code>(Request::instance()->isGet()) {</code><code>echo</code> <code>'当前为GET请求'</code><code>;}</code>
<code> </code><code>if</code><code>(Request::instance()->isPost())</code><code>echo</code> <code>'当前为POST请求'</code><code>;</code>
<code> </code><code>if</code><code>(Request::instance()->isPut()) </code><code>echo</code> <code>'当前为PUT请求'</code><code>;</code>
<code> </code><code>if</code><code>(Request::instance()->isDelete()) </code><code>echo</code> <code>'当前为DELETE请求'</code><code>;</code>
<code> </code><code>if</code><code>(Request::instance()->isAjax()) </code><code>echo</code> <code>'当前为AJAX请求'</code><code>;</code>
<code> </code><code>if</code><code>(Request::instance()->isPjax()) </code><code>echo</code> <code>'当前为PJAX请求'</code><code>;</code>
<code> </code><code>if</code><code>(Request::instance()->isMobile()) </code><code>echo</code> <code>'当前为Mobile请求'</code><code>;</code>
<code> </code><code>if</code><code>(Request::instance()->isHead()) </code><code>echo</code> <code>'当前为HEAD请求'</code><code>;</code>
<code> </code><code>if</code><code>(Request::instance()->isPatch()) </code><code>echo</code> <code>'当前为PATCH请求'</code><code>;</code>
<code> </code><code>if</code><code>(Request::instance()->isOptions()) </code><code>echo</code> <code>'当前为OPTIONS请求'</code><code>;</code>
<code> </code><code>if</code><code>(Request::instance()->isCli()) </code><code>echo</code> <code>'当前为cli'</code><code>;</code>
<code> </code><code>if</code><code>(Request::instance()->isCgi()) </code><code>echo</code> <code>'当前为cgi'</code><code>;</code>
<code> </code><code>if</code><code>(request()->isGet()){</code><code>echo</code> <code>'当前为GET请求'</code><code>;};</code>
<code> </code><code>// 获取URL信息</code>
<code> </code><code>$request</code> <code>= Request::instance();</code>
<code> </code><code>$request</code> <code>= request();</code>
<code> </code><code>echo</code> <code>'domain:'</code><code>.</code><code>$request</code><code>->domain().</code><code>'<br/>'</code><code>;</code>
<code> </code><code>echo</code> <code>'file:'</code><code>.</code><code>$request</code><code>->baseFile().</code><code>'<br/>'</code><code>;</code>
<code> </code><code>echo</code> <code>'url:'</code><code>.</code><code>$request</code><code>->url().</code><code>'<br/>'</code><code>;</code>
<code> </code><code>echo</code> <code>'url with domain:'</code><code>.</code><code>$request</code><code>->url(true).</code><code>'<br/>'</code><code>;</code>
<code> </code><code>echo</code> <code>'url without query:'</code><code>.</code><code>$request</code><code>->baseUrl().</code><code>'<br/>'</code><code>;</code>
<code> </code><code>echo</code> <code>'root:'</code><code>.</code><code>$request</code><code>->root().</code><code>'<br/>'</code><code>;</code>
<code> </code><code>echo</code> <code>'root with domain:'</code><code>.</code><code>$request</code><code>->root(true).</code><code>'<br/>'</code><code>;</code>
<code> </code><code>echo</code> <code>'pathinfo:'</code><code>.</code><code>$request</code><code>-></code><code>pathinfo</code><code>().</code><code>'<br/>'</code><code>;</code>
<code> </code><code>echo</code> <code>'pathinfo:'</code><code>.</code><code>$request</code><code>->path().</code><code>'<br/>'</code><code>;</code>
<code> </code><code>echo</code> <code>'ext'</code><code>.</code><code>$request</code><code>->ext().</code><code>'<br/>'</code><code>;</code>
<code> </code><code>// 设置/获取 模块/控制器/操作名称</code>
<code> </code><code>echo</code> <code>'当前模块名称是'</code><code>.</code><code>$request</code><code>->module();</code>
<code> </code><code>echo</code> <code>'当前控制器名称是'</code><code>.</code><code>$request</code><code>->controller();</code>
<code> </code><code>echo</code> <code>'当前操作名称是'</code><code>.</code><code>$request</code><code>->action();</code>
<code> </code><code>Request::instance()->module(</code><code>'module_name'</code><code>);</code>
<code> </code><code>// 获取请求参数</code>
<code> </code><code>echo</code> <code>'请求方法:'</code><code>.</code><code>$request</code><code>->method().</code><code>'<br/>'</code><code>;</code>
<code> </code><code>echo</code> <code>'资源类型:'</code><code>.</code><code>$request</code><code>->type().</code><code>'<br/>'</code><code>;</code>
<code> </code><code>echo</code> <code>'访问地址:'</code><code>.</code><code>$request</code><code>->ip().</code><code>'<br/>'</code><code>;</code>
<code> </code><code>echo</code> <code>'是否Ajax请求:'</code><code>.var_export(</code><code>$request</code><code>->isAjax(),true);</code>
<code> </code><code>echo</code> <code>'请求参数:'</code><code>;</code>
<code> </code><code>dump(</code><code>$request</code><code>->param());</code>
<code> </code><code>echo</code> <code>'请求参数:仅包含name'</code><code>;</code>
<code> </code><code>dump(</code><code>$request</code><code>->only([</code><code>'name'</code><code>]));</code>
<code> </code><code>echo</code> <code>'请求参数:排除name'</code><code>;</code>
<code> </code><code>dump(</code><code>$request</code><code>->except([</code><code>'name'</code><code>]));</code>
<code> </code><code>// 获取路由和调度信息</code>
<code> </code><code>echo</code> <code>'路由信息'</code><code>;</code>
<code> </code><code>dump(</code><code>$request</code><code>->route());</code>
<code> </code><code>echo</code> <code>'调度信息'</code><code>;</code>
<code> </code><code>dump(</code><code>$request</code><code>->dispatch());</code>
<code> </code><code>// 设置请求信息</code>
<code> </code><code>$request</code><code>->root(</code><code>'index.php'</code><code>);</code>
<code> </code><code>$request</code><code>-></code><code>pathinfo</code><code>(</code><code>'admin/index/hello'</code><code>);</code>
<code> </code><code>public</code> <code>function</code> <code>hello2(){</code>
<code> </code><code>$data</code> <code>= [</code><code>'name'</code><code>=></code><code>'thinkphp'</code><code>,</code><code>'status'</code><code>=>1];</code>
<code> </code><code>// 浏览器安装json插件</code>
<code> </code><code>return</code> <code>json(</code><code>$data</code><code>);</code>
<code> </code><code>// return xml($data);</code>
<code> </code><code>// $this->assign('name','渲染 模板');</code>
<code> </code><code>// return $this->fetch();</code>
<code> </code><code>// hello3</code>
<code> </code><code>// 如果没有 extends Controller 就写:</code>
<code> </code><code>// use \traits\controller\Jump;</code>
<code> </code><code>public</code> <code>function</code> <code>hello3(){</code>
<code> </code><code>$this</code><code>->success(</code><code>'正常的页面跳转'</code><code>,</code><code>'hello'</code><code>);</code>
<code> </code><code>$this</code><code>->error(</code><code>'错误的页面跳转'</code><code>,</code><code>'hello2'</code><code>);</code>
<code> </code><code>$this</code><code>->redirect(</code><code>'http://tp-shop.cn'</code><code>);</code>
<code> </code><code>public</code> <code>function</code> <code>hello4(){</code>
<code> </code><code>// 检测变量是否设置</code>
<code> </code><code>Request::instance()->has(</code><code>'id'</code><code>,</code><code>'get'</code><code>);</code>
<code> </code><code>Request::instance()->has(</code><code>'name'</code><code>,</code><code>'post'</code><code>);</code>
<code> </code><code>input(</code><code>'?get.id'</code><code>);</code>
<code> </code><code>input(</code><code>'?post.name'</code><code>);</code>
<code> </code><code>// 变量获取</code>
<code> </code><code>echo</code> <code>$request</code><code>->bind(</code><code>'user_name'</code><code>,</code><code>'张三'</code><code>);</code>
<code> </code><code>echo</code> <code>$request</code><code>->user_name;</code>
<code> </code><code>print_r(</code><code>$request</code><code>->param());</code>
<code> </code><code>echo</code> <code>'<br/>'</code><code>;</code>
<code> </code><code>echo</code> <code>$request</code><code>->param(</code><code>'name'</code><code>);</code>
<code> </code><code>print_r(input());</code>
<code> </code><code>echo</code> <code>input(</code><code>'name'</code><code>);</code>
<code> </code><code>print_r(Request::instance()->param(false));</code>
<code> </code><code>print_r(Request::instance()->param(true));</code>
<code> </code><code>echo</code> <code>(input(</code><code>'param.name'</code><code>));</code>
<code> </code><code>print_r (input(</code><code>'param.'</code><code>));</code>
<code> </code><code>// 或</code>
<code> </code><code>echo</code> <code>(input(</code><code>'name'</code><code>));</code>
<code> </code><code>print_r(</code><code>''</code><code>);</code>
<code> </code><code>// 获取GET变量</code>
<code> </code><code>echo</code> <code>(Request::instance()->get(</code><code>'id'</code><code>));</code>
<code> </code><code>echo</code> <code>(Request::instance()->get(</code><code>'name'</code><code>));</code>
<code> </code><code>print_r(Request::instance()->get()); </code><code>// 获取经过过滤的</code>
<code> </code><code>print_r(Request::instance()->get(false));</code><code>//获取原始变量</code>
<code> </code><code>// 或</code>
<code> </code><code>echo</code> <code>input(</code><code>'get.id'</code><code>);</code>
<code> </code><code>echo</code> <code>input(</code><code>'get.name'</code><code>);</code>
<code> </code><code>print_r(input(</code><code>'get.'</code><code>));</code>
<code> </code><code>// 获取POST变量</code>
<code> </code><code>echo</code> <code>(Request::instance()->post(</code><code>'name'</code><code>));</code>
<code> </code><code>print_r(Request::instance()->post());</code>
<code> </code><code>print_r(Request::instance()->post(false));</code>
<code> </code><code>echo</code> <code>(input(</code><code>'post.name'</code><code>));</code>
<code> </code><code>print_r(</code><code>'post.'</code><code>);</code>
<code> </code><code>// 获取PUT变量</code>
<code> </code><code>echo</code> <code>(Request::instance()->put(</code><code>'name'</code><code>));</code>
<code> </code><code>print_r (Request::instance()->put());</code>
<code> </code><code>print_r (Request::instance()->put(false));</code>
<code> </code><code>echo</code> <code>(input(</code><code>'put.name'</code><code>));</code>
<code> </code><code>print_r(input(</code><code>'put.'</code><code>));</code>
<code> </code><code>// 获取REQUEST变量</code>
<code> </code><code>echo</code> <code>(Request::instance()->request(</code><code>'id'</code><code>));</code>
<code> </code><code>print_r(Request::instance()->request());</code>
<code> </code><code>print_r(Request::instance()->request(false));</code>
<code> </code><code>echo</code> <code>(input(</code><code>'request.id'</code><code>));</code>
<code> </code><code>print_r (input(</code><code>'request.'</code><code>));</code>
<code> </code><code>// 获取SERVER变量</code>
<code> </code><code>echo</code> <code>(Request::instance()->server(</code><code>'PHP_SELF'</code><code>));</code>
<code> </code><code>print_r(Request::instance()->server());</code>
<code> </code><code>echo</code> <code>(input(</code><code>'server.PHP_SELF'</code><code>));</code>
<code> </code><code>print_r(input(</code><code>'server.'</code><code>));</code>
<code> </code><code>//获取SESSION变量</code>
<code> </code><code>echo</code> <code>(Request::instance()->session(</code><code>'user_id'</code><code>));</code>
<code> </code><code>print_r(Request::instance()->session());</code>
<code> </code><code>echo</code> <code>(input(</code><code>'session.user_id'</code><code>));</code>
<code> </code><code>print_r(input(</code><code>'session.'</code><code>));</code>
<code> </code><code>// 获取Cookie变量</code>
<code> </code><code>echo</code> <code>(Request::instance()->cookie(</code><code>'user_id'</code><code>));</code>
<code> </code><code>print_r(Request::instance()->cookie());</code>
<code> </code><code>echo</code> <code>(input(</code><code>'cookie.user_id'</code><code>));</code>
<code> </code><code>print_r(input(</code><code>'cookie.'</code><code>));</code>
<code> </code><code>// 变量过滤</code>
<code> </code><code>// 在application/config.php中设置</code>
<code> </code><code>// 'default_filter'=>'htmlspecialchars';</code>
<code> </code><code>Request::instance()->filter(</code><code>'htmlspecialchars'</code><code>);</code>
<code> </code><code>Request::instance()->filter([</code><code>'strip_tags'</code><code>,</code><code>'htmlspecialchars'</code><code>]);</code>
<code> </code><code>// 在添加变量的时候添加过滤方法</code>
<code> </code><code>Request::instance()->get(</code><code>'name'</code><code>,</code><code>''</code><code>,</code><code>'htmlspecialchars'</code><code>);</code>
<code> </code><code>Request::instance()->param(</code><code>'username'</code><code>,</code><code>''</code><code>,</code><code>'strip_tags'</code><code>);</code>
<code> </code><code>Request::instance()->post(</code><code>'name'</code><code>,</code><code>''</code><code>,</code><code>'org\Filter::safeHtml'</code><code>);</code>
<code> </code><code>Request::instance()->param(</code><code>'username'</code><code>,</code><code>''</code><code>,</code><code>'strip_tags,strtolower'</code><code>);</code>
<code> </code><code>Request::instance()->post(</code><code>'email'</code><code>,</code><code>''</code><code>,</code><code>'FILTER_VALIDATE_EMAIL'</code><code>);</code>
<code> </code><code>Request::instance()->post(</code><code>'email'</code><code>,</code><code>''</code><code>,</code><code>'email'</code><code>);</code>
<code> </code><code>Request::instance()->get(</code><code>'name'</code><code>,</code><code>''</code><code>,false);</code>
<code> </code><code>// 获取部分变量</code>
<code> </code><code>Request::instance()->only(</code><code>'id,name'</code><code>);</code>
<code> </code><code>Request::instance()->only([</code><code>'id'</code><code>,</code><code>'name'</code><code>]);</code>
<code> </code><code>Request::instance()->only([</code><code>'id'</code><code>,</code><code>'name'</code><code>],</code><code>'get'</code><code>);</code>
<code> </code><code>Request::instance()->only([</code><code>'id'</code><code>,</code><code>'name'</code><code>],</code><code>'post'</code><code>);</code>
<code> </code><code>// 排除部分变量</code>
<code> </code><code>Request::instance()->except(</code><code>'id,name'</code><code>);</code>
<code> </code><code>Request::instance()->except([</code><code>'id'</code><code>,</code><code>'name'</code><code>]);</code>
<code> </code><code>Request::instance()->except([</code><code>'id'</code><code>,</code><code>'name'</code><code>],</code><code>'get'</code><code>);</code>
<code> </code><code>Request::instance()->except([</code><code>'id'</code><code>,</code><code>'name'</code><code>],</code><code>'post'</code><code>);</code>
<code> </code><code>// 变量修饰符</code>
<code> </code><code>input(</code><code>'get.id/d'</code><code>);</code>
<code> </code><code>input(</code><code>'get.name/s'</code><code>);</code>
<code> </code><code>input(</code><code>'get.ids/a'</code><code>);</code>
<code> </code><code>Request::instance()->get(</code><code>'id/d'</code><code>);</code>
<code> </code><code>public</code> <code>function</code> <code>hello5(){</code>
<code> </code><code>Request::instance()->get([</code><code>'id'</code><code>=>10]);</code>
<code> </code><code>Request::instance()->post([</code><code>'name'</code><code>=></code><code>'thinkphp'</code><code>]);</code>
<code> </code><code>// 尽量避免直接修改$_GET,$_POST,也不能直接修改param变量,下面写法无效</code>
<code> </code><code>// Request::instance()->param(['id'=>10]);</code>
<code>} </code> 本文转自phpervip 51CTO博客,原文链接:http://blog.51cto.com/phpervip/1931987,如需转载请自行联系原作者
<code></code>