Browse Source

clean controller

tags/0.1.0
Robin Thoni 9 years ago
parent
commit
b8da8c9427
2 changed files with 31 additions and 37 deletions
  1. 0
    17
      src/Utils/LuController.php
  2. 31
    20
      src/Utils/LuRoute.php

+ 0
- 17
src/Utils/LuController.php View File

6
 
6
 
7
 class LuController extends BaseController
7
 class LuController extends BaseController
8
 {
8
 {
9
-    function execute($businessClass, $businessMethod)
10
-    {
11
-        $reflect = new \ReflectionMethod($businessClass, $businessMethod);
12
-        $params = $reflect->getParameters();
13
-
14
-        $args = array();
15
-        foreach ($params as $param) {
16
-            if ($param->isOptional()) {
17
-                $args[$param->getName()] = LuBusiness::getParam($param->getName(), $param->getDefaultValue());
18
-            }
19
-            else {
20
-                $args[$param->getName()] = LuBusiness::checkParam($param->getName());
21
-            }
22
-        }
23
-
24
-        return LuOutputFormatter::formatSuccess(forward_static_call_array(array($businessClass, $businessMethod), $args));
25
-    }
26
 }
9
 }

+ 31
- 20
src/Utils/LuRoute.php View File

49
         $this->middleware[] = $middleware;
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
         if (!is_array($permissions)) {
54
         if (!is_array($permissions)) {
55
             $permissions = array($permissions);
55
             $permissions = array($permissions);
64
             $middleware_string[] = $mid . (strpos($mid, ":") !== false ? "," : ":") . $permissions_string;
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
         $route = new LuRouteDbo();
71
         $route = new LuRouteDbo();
72
         $route->setUrl($url);
72
         $route->setUrl($url);
73
-        $route->setBusinessClass($business);
73
+        $route->setBusinessClass($controller);
74
         $route->setBusinessMethod($method);
74
         $route->setBusinessMethod($method);
75
         $route->setMiddlware($middleware_string);
75
         $route->setMiddlware($middleware_string);
76
         $route->setPermissions($permissions);
76
         $route->setPermissions($permissions);
77
         $route->setMethod($httpMethod);
77
         $route->setMethod($httpMethod);
78
         $this->routes[] = $route;
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
             'middleware' => $middleware_string];
97
             'middleware' => $middleware_string];
87
     }
98
     }
88
 
99
 
89
     /**
100
     /**
90
      * @param $url string
101
      * @param $url string
91
-     * @param $business string
102
+     * @param $controller string
92
      * @param $method string
103
      * @param $method string
93
      * @param array $permissions string|string[]
104
      * @param array $permissions string|string[]
94
      * @param array $middleware string|string[]
105
      * @param array $middleware string|string[]
95
      * @return mixed
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
         global $app;
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
      * @param $url string
115
      * @param $url string
105
-     * @param $business string
116
+     * @param $controller string
106
      * @param $method string
117
      * @param $method string
107
      * @param array $permissions string|string[]
118
      * @param array $permissions string|string[]
108
      * @param array $middleware string|string[]
119
      * @param array $middleware string|string[]
109
      * @return mixed
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
         global $app;
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
      * @param $url string
129
      * @param $url string
119
-     * @param $business string
130
+     * @param $controller string
120
      * @param $method string
131
      * @param $method string
121
      * @param array $permissions string|string[]
132
      * @param array $permissions string|string[]
122
      * @param array $middleware string|string[]
133
      * @param array $middleware string|string[]
123
      * @return mixed
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
         global $app;
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
      * @param $url string
143
      * @param $url string
133
-     * @param $business string
144
+     * @param $controller string
134
      * @param $method string
145
      * @param $method string
135
      * @param array $permissions string|string[]
146
      * @param array $permissions string|string[]
136
      * @param array $middleware string|string[]
147
      * @param array $middleware string|string[]
137
      * @return mixed
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
         global $app;
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
 }

Loading…
Cancel
Save