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>