1
- <?php
2
-
3
- use PhpSlides \Controller \RouteController ;
4
-
5
- /**
6
- * -----------------------------------------------------------
7
- * |
8
- * @param mixed $filename The file which to gets the contents
9
- * @return mixed The executed included file received
10
- * |
11
- * -----------------------------------------------------------
12
- */
13
- function slides_include ($ filename )
14
- {
15
- $ output = RouteController::slides_include ($ filename );
16
- return $ output ;
17
- }
18
-
19
-
20
-
21
- $ routes = [];
22
-
23
- /**
24
- * Give route a name and value
25
- *
26
- * @param string $name Name of the given route to be specified
27
- * @param string|array $value Named route value
28
- * @return void
29
- */
30
- function add_route_name (string $ name , string |array $ value ): void
31
- {
32
- global $ routes ;
33
- $ routes [$ name ] = $ value ;
34
- }
35
-
36
-
37
-
38
- /**
39
- * Get Route results from named route
40
- *
41
- * @param string|null $name The name of the route to return
42
- * @param array|null $param If the route has parameter, give the parameter a value
43
- *
44
- * @return array|object|string returns the route value
45
- */
46
- function route (string |null $ name = null , array |null $ param = null ): array |object |string
47
- {
48
- global $ routes ;
49
-
50
- if ($ name === null )
51
- {
52
- $ route_class = new stdClass ();
53
-
54
- foreach ($ routes as $ key => $ value )
55
- {
56
- if (preg_match_all ("/(?<={).+?(?=})/ " , $ value ))
57
- {
58
- $ route_class ->$ key = function (string ...$ args ) use ($ routes , $ value , $ key )
59
- {
60
- $ route = '' ;
61
-
62
- if (count ($ args ) === 0 )
63
- {
64
- $ route = $ routes [$ key ];
65
- }
66
- else
67
- {
68
- for ($ i = 0 ; $ i < count ($ args ); $ i ++)
69
- {
70
- if ($ i === 0 )
71
- {
72
- $ route = preg_replace ("/\{[^}]+\}/ " , $ args [$ i ], $ value , 1 );
73
- }
74
- else
75
- {
76
- $ route = preg_replace ("/\{[^}]+\}/ " , $ args [$ i ], $ route , 1 );
77
- }
78
- }
79
- }
80
- return $ route ;
81
- };
82
- }
83
- else
84
- {
85
- $ route_class ->$ key = $ value ;
86
- }
87
- }
88
-
89
- return $ route_class ;
90
- }
91
- else
92
- {
93
- if (!array_key_exists ($ name , $ routes ))
94
- {
95
- throw new Exception ("No route with specified route name `route(' $ name')` " );
96
- }
97
- else
98
- {
99
- if ($ param === null )
100
- {
101
- return $ routes [$ name ];
102
- }
103
- else
104
- {
105
- $ route = '' ;
106
-
107
- for ($ i = 0 ; $ i < count ($ param ); $ i ++)
108
- {
109
- if ($ i === 0 )
110
- {
111
- $ route = preg_replace ("/\{[^}]+\}/ " , $ param [$ i ], $ routes [$ name ], 1 );
112
- }
113
- else
114
- {
115
- $ route = preg_replace ("/\{[^}]+\}/ " , $ param [$ i ], $ route , 1 );
116
- }
117
- }
118
- return $ route ;
119
- }
120
- }
121
- }
122
- }
123
-
124
- define ("APP_DEBUG " , getenv ("APP_DEBUG " , true ));
125
-
126
- const GET = "GET " ;
127
- const PUT = "PUT " ;
128
- const POST = "POST " ;
129
- const PATCH = "PATCH " ;
1
+ <?php
2
+
3
+ use PhpSlides \Controller \RouteController ;
4
+
5
+ /**
6
+ * -----------------------------------------------------------
7
+ * |
8
+ * @param mixed $filename The file which to gets the contents
9
+ * @return mixed The executed included file received
10
+ * |
11
+ * -----------------------------------------------------------
12
+ */
13
+ function slides_include ($ filename )
14
+ {
15
+ $ output = RouteController::slides_include ($ filename );
16
+ return $ output ;
17
+ }
18
+
19
+
20
+
21
+ $ routes = [];
22
+
23
+ /**
24
+ * Give route a name and value
25
+ *
26
+ * @param string $name Name of the given route to be specified
27
+ * @param string|array $value Named route value
28
+ * @return void
29
+ */
30
+ function add_route_name (string $ name , string |array $ value ): void
31
+ {
32
+ global $ routes ;
33
+ $ routes [$ name ] = $ value ;
34
+ }
35
+
36
+
37
+
38
+ /**
39
+ * Get Route results from named route
40
+ *
41
+ * @param string|null $name The name of the route to return
42
+ * @param array|null $param If the route has parameter, give the parameter a value
43
+ *
44
+ * @return array|object|string returns the route value
45
+ */
46
+ function route (string |null $ name = null , array |null $ param = null ): array |object |string
47
+ {
48
+ global $ routes ;
49
+
50
+ if ($ name === null )
51
+ {
52
+ $ route_class = new stdClass ();
53
+
54
+ foreach ($ routes as $ key => $ value )
55
+ {
56
+ if (preg_match_all ("/(?<={).+?(?=})/ " , $ value ))
57
+ {
58
+ $ route_class ->$ key = function (string ...$ args ) use ($ routes , $ value , $ key )
59
+ {
60
+ $ route = '' ;
61
+
62
+ if (count ($ args ) === 0 )
63
+ {
64
+ $ route = $ routes [$ key ];
65
+ }
66
+ else
67
+ {
68
+ for ($ i = 0 ; $ i < count ($ args ); $ i ++)
69
+ {
70
+ if ($ i === 0 )
71
+ {
72
+ $ route = preg_replace ("/\{[^}]+\}/ " , $ args [$ i ], $ value , 1 );
73
+ }
74
+ else
75
+ {
76
+ $ route = preg_replace ("/\{[^}]+\}/ " , $ args [$ i ], $ route , 1 );
77
+ }
78
+ }
79
+ }
80
+ return $ route ;
81
+ };
82
+ }
83
+ else
84
+ {
85
+ $ route_class ->$ key = $ value ;
86
+ }
87
+ }
88
+
89
+ return $ route_class ;
90
+ }
91
+ else
92
+ {
93
+ if (!array_key_exists ($ name , $ routes ))
94
+ {
95
+ throw new Exception ("No route with specified route name `route(' $ name')` " );
96
+ }
97
+ else
98
+ {
99
+ if ($ param === null )
100
+ {
101
+ return $ routes [$ name ];
102
+ }
103
+ else
104
+ {
105
+ $ route = '' ;
106
+
107
+ for ($ i = 0 ; $ i < count ($ param ); $ i ++)
108
+ {
109
+ if ($ i === 0 )
110
+ {
111
+ $ route = preg_replace ("/\{[^}]+\}/ " , $ param [$ i ], $ routes [$ name ], 1 );
112
+ }
113
+ else
114
+ {
115
+ $ route = preg_replace ("/\{[^}]+\}/ " , $ param [$ i ], $ route , 1 );
116
+ }
117
+ }
118
+ return $ route ;
119
+ }
120
+ }
121
+ }
122
+ }
123
+
124
+ define ("APP_DEBUG " , getenv ("APP_DEBUG " , true ));
125
+
126
+ const GET = "GET " ;
127
+ const PUT = "PUT " ;
128
+ const POST = "POST " ;
129
+ const PATCH = "PATCH " ;
130
130
const DELETE = "DELETE " ;
0 commit comments