1
+ <?php
2
+
3
+ /**
4
+ * 演示控制器
5
+ *
6
+ * - 简单输出
7
+ * - 输入验证
8
+ * - jsonp输出
9
+ *
10
+ */
11
+ class HomeController extends Controller
12
+ {
13
+ /**
14
+ * demo
15
+ *
16
+ * @return Slim\Http\Response
17
+ */
18
+ public function index ()
19
+ {
20
+ return $ this ->json (['app ' => 'Rester ' , 'message ' => 'Hello world! ' ]);
21
+ }
22
+
23
+ /**
24
+ * 验证演示
25
+ *
26
+ * @return \Slim\Http\Response
27
+ */
28
+ public function validateDemo ()
29
+ {
30
+ $ rules = [
31
+ 'username ' => 'required ' ,
32
+ 'password ' => 'required|confirmed ' ,
33
+ 'sex ' => 'integer|in:1,0 ' ,
34
+ ];
35
+
36
+ $ this ->validate ($ this ->request ->post (), $ rules );
37
+
38
+ //以下是验证通过的情况下
39
+ return $ this ->json (['status ' => 'validation passes. ' ]);
40
+ }
41
+
42
+ /**
43
+ * jsonp 演示
44
+ *
45
+ * @return \Slim\Http\Response
46
+ */
47
+ public function jsonpDemo ()
48
+ {
49
+ $ rules = [
50
+ 'callback ' => 'required ' ,
51
+ ];
52
+
53
+ $ this ->validate ($ this ->request ->get (), $ rules );
54
+
55
+ $ return = [
56
+ 'username ' => 'Carlos ' ,
57
+ 'age ' => 24 ,
58
+ 'location ' => 'Beijing, China ' ,
59
+ 'chinese_name ' => '安正超 ' ,
60
+ 'github ' => 'https://github.com/overtrue '
61
+ ];
62
+
63
+ $ callback = $ this ->request ->get ('callback ' );
64
+
65
+ return $ this ->jsonp ($ return , $ callback );//callbak是可选的,如果不传,默认从GET取callback
66
+ }
67
+ }
0 commit comments