<?php namespace brain\controller; use Psr\Http\Message\ResponseInterface; use Psr\Http\Message\ServerRequestInterface; class RouteControl { //TODO: Add additional HTTP Methods to better organize API control paths public function get( ServerRequestInterface $request, ResponseInterface $response, array $args ): ResponseInterface { switch (isset($args['first']) ? $args['first'] : 'index') { case 'dashboard': return DashControl::start($request, $response, $args); break; case 'api': return APIControl::get($request, $response, $args); break; default: return IndexControl::start($request, $response, $args); break; } } public function post( ServerRequestInterface $request, ResponseInterface $response, array $args ): ResponseInterface { switch (isset($args['first']) ? $args['first'] : 'index') { case 'api': return APIControl::post($request, $response, $args); break; default: $result = [ 'message' => "Nothing matches this route. That's unfortunate", 'type' => 'TASK_NONE', ]; $response->getBody()->write(json_encode($result)); return $response->withHeader('Content-Type', 'application/json'); } } }