WsRouterDispatchService.php 565 B

123456789101112131415161718192021222324252627
  1. <?php
  2. namespace App\Repositories\Service;
  3. class WsRouterDispatchService
  4. {
  5. public function dispatch(string $json)
  6. {
  7. $data = json_decode($json, true);
  8. $arr = explode('/', $data['method']);
  9. // 控制
  10. $Controller = $arr[0] . 'Controller';
  11. // 方法
  12. $method = $arr[1];
  13. $className = "Modules\\Api\\Controllers\\{$Controller}";
  14. if (class_exists($className)) {
  15. return (new $className)->$method($data['params']);
  16. } else {
  17. echo '没有这个类';
  18. }
  19. }
  20. }