You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

LuController.php 951B

123456789101112131415161718192021222324252627282930
  1. <?php
  2. namespace Luticate\Utils;
  3. use Laravel\Lumen\Routing\Controller as BaseController;
  4. class LuController extends BaseController
  5. {
  6. public static $parameters = array();
  7. function execute($businessClass, $businessMethod)
  8. {
  9. self::$parameters = array_merge($_GET, $_POST, app('request')->route()[2], self::$parameters);
  10. $reflect = new \ReflectionMethod($businessClass, $businessMethod);
  11. $params = $reflect->getParameters();
  12. $args = array();
  13. foreach ($params as $param) {
  14. if ($param->isOptional()) {
  15. $args[$param->getName()] = LuBusiness::getParam($param->getName(), $param->getDefaultValue());
  16. }
  17. else {
  18. $args[$param->getName()] = LuBusiness::checkParam($param->getName());
  19. }
  20. }
  21. return LuOutputFormatter::formatSuccess(forward_static_call_array(array($businessClass, $businessMethod), $args));
  22. }
  23. }