|
@@ -49,7 +49,7 @@ class LuRoute {
|
49
|
49
|
$this->middleware[] = $middleware;
|
50
|
50
|
}
|
51
|
51
|
|
52
|
|
- private function getOptions($httpMethod, $url, $business, $method, $permissions, $middleware)
|
|
52
|
+ private function getOptions($httpMethod, $url, $controller, $method, $permissions, $middleware)
|
53
|
53
|
{
|
54
|
54
|
if (!is_array($permissions)) {
|
55
|
55
|
$permissions = array($permissions);
|
|
@@ -64,81 +64,92 @@ class LuRoute {
|
64
|
64
|
$middleware_string[] = $mid . (strpos($mid, ":") !== false ? "," : ":") . $permissions_string;
|
65
|
65
|
}
|
66
|
66
|
|
67
|
|
- if (strpos($business, "\\") === false) {
|
68
|
|
- $business = "App\\Http\\Business\\" . $business . "Business";
|
|
67
|
+ if (strpos($controller, "\\") === false) {
|
|
68
|
+ $controller = "App\\Http\\Controller\\" . $controller . "Controller";
|
69
|
69
|
}
|
70
|
70
|
|
71
|
71
|
$route = new LuRouteDbo();
|
72
|
72
|
$route->setUrl($url);
|
73
|
|
- $route->setBusinessClass($business);
|
|
73
|
+ $route->setBusinessClass($controller);
|
74
|
74
|
$route->setBusinessMethod($method);
|
75
|
75
|
$route->setMiddlware($middleware_string);
|
76
|
76
|
$route->setPermissions($permissions);
|
77
|
77
|
$route->setMethod($httpMethod);
|
78
|
78
|
$this->routes[] = $route;
|
79
|
79
|
|
80
|
|
- return [function() use($business, $method)
|
|
80
|
+ return [function() use($controller, $method)
|
81
|
81
|
{
|
82
|
|
- $controller = new LuController();
|
83
|
|
-
|
84
|
|
- return $controller->execute($business, $method);
|
|
82
|
+ $reflect = new \ReflectionMethod($controller, $method);
|
|
83
|
+ $params = $reflect->getParameters();
|
|
84
|
+
|
|
85
|
+ $args = array();
|
|
86
|
+ foreach ($params as $param) {
|
|
87
|
+ if ($param->isOptional()) {
|
|
88
|
+ $args[$param->getName()] = LuBusiness::getParam($param->getName(), $param->getDefaultValue());
|
|
89
|
+ }
|
|
90
|
+ else {
|
|
91
|
+ $args[$param->getName()] = LuBusiness::checkParam($param->getName());
|
|
92
|
+ }
|
|
93
|
+ }
|
|
94
|
+
|
|
95
|
+ return LuOutputFormatter::formatSuccess(forward_static_call_array(array($controller, $method), $args));
|
85
|
96
|
},
|
86
|
97
|
'middleware' => $middleware_string];
|
87
|
98
|
}
|
88
|
99
|
|
89
|
100
|
/**
|
90
|
101
|
* @param $url string
|
91
|
|
- * @param $business string
|
|
102
|
+ * @param $controller string
|
92
|
103
|
* @param $method string
|
93
|
104
|
* @param array $permissions string|string[]
|
94
|
105
|
* @param array $middleware string|string[]
|
95
|
106
|
* @return mixed
|
96
|
107
|
*/
|
97
|
|
- public function get($url, $business, $method, $permissions = array(), $middleware = array())
|
|
108
|
+ public function get($url, $controller, $method, $permissions = array(), $middleware = array())
|
98
|
109
|
{
|
99
|
110
|
global $app;
|
100
|
|
- return $app->get($url, $this->getOptions("GET", $url, $business, $method, $permissions, $middleware));
|
|
111
|
+ return $app->get($url, $this->getOptions("GET", $url, $controller, $method, $permissions, $middleware));
|
101
|
112
|
}
|
102
|
113
|
|
103
|
114
|
/**
|
104
|
115
|
* @param $url string
|
105
|
|
- * @param $business string
|
|
116
|
+ * @param $controller string
|
106
|
117
|
* @param $method string
|
107
|
118
|
* @param array $permissions string|string[]
|
108
|
119
|
* @param array $middleware string|string[]
|
109
|
120
|
* @return mixed
|
110
|
121
|
*/
|
111
|
|
- public function post($url, $business, $method, $permissions = array(), $middleware = array())
|
|
122
|
+ public function post($url, $controller, $method, $permissions = array(), $middleware = array())
|
112
|
123
|
{
|
113
|
124
|
global $app;
|
114
|
|
- return $app->post($url, $this->getOptions("POST", $url, $business, $method, $permissions, $middleware));
|
|
125
|
+ return $app->post($url, $this->getOptions("POST", $url, $controller, $method, $permissions, $middleware));
|
115
|
126
|
}
|
116
|
127
|
|
117
|
128
|
/**
|
118
|
129
|
* @param $url string
|
119
|
|
- * @param $business string
|
|
130
|
+ * @param $controller string
|
120
|
131
|
* @param $method string
|
121
|
132
|
* @param array $permissions string|string[]
|
122
|
133
|
* @param array $middleware string|string[]
|
123
|
134
|
* @return mixed
|
124
|
135
|
*/
|
125
|
|
- public function put($url, $business, $method, $permissions = array(), $middleware = array())
|
|
136
|
+ public function put($url, $controller, $method, $permissions = array(), $middleware = array())
|
126
|
137
|
{
|
127
|
138
|
global $app;
|
128
|
|
- return $app->put($url, $this->getOptions("PUT", $url, $business, $method, $permissions, $middleware));
|
|
139
|
+ return $app->put($url, $this->getOptions("PUT", $url, $controller, $method, $permissions, $middleware));
|
129
|
140
|
}
|
130
|
141
|
|
131
|
142
|
/**
|
132
|
143
|
* @param $url string
|
133
|
|
- * @param $business string
|
|
144
|
+ * @param $controller string
|
134
|
145
|
* @param $method string
|
135
|
146
|
* @param array $permissions string|string[]
|
136
|
147
|
* @param array $middleware string|string[]
|
137
|
148
|
* @return mixed
|
138
|
149
|
*/
|
139
|
|
- public function delete($url, $business, $method, $permissions = array(), $middleware = array())
|
|
150
|
+ public function delete($url, $controller, $method, $permissions = array(), $middleware = array())
|
140
|
151
|
{
|
141
|
152
|
global $app;
|
142
|
|
- return $app->delete($url, $this->getOptions("DELETE", $url, $business, $method, $permissions, $middleware));
|
|
153
|
+ return $app->delete($url, $this->getOptions("DELETE", $url, $controller, $method, $permissions, $middleware));
|
143
|
154
|
}
|
144
|
155
|
}
|