function callMethod() { $resultMethod = $this->createJSON(); $apiName = stripcslashes($this->apiFunctionName[0]) . 'Api'; $status = ApiConstants::$STATUS; if (file_exists(SERVER_DIR . 'app/Controller/Api/method/' . $apiName . '.php')) { $apiClass = ApiCore::getApiEngineByName($apiName); $apiReflection = new ReflectionClass($apiName); try { $functionName = $this->apiFunctionName[1]; $apiReflection->getMethod($functionName); $response = ApiConstants::$RESPONSE; $res = $apiClass->{$functionName}($this->apiFunctionParams); if ($res == null) { $resultMethod->{$status} = ApiConstants::$ERROR_NOT_FOUND_RECORD; } else { if ($res->err == ApiConstants::$ERROR_PARAMS) { $resultMethod->{$status} = ApiConstants::$ERROR_PARAMS; $resultMethod->params = json_encode($apiFunctionParams); } else { $resultMethod->{$response} = $res; $resultMethod->{$status} = ApiConstants::$ERROR_NO; } } } catch (Exception $ex) { $resultMethod->errStr = $ex->getMessage(); } } else { $resultMethod->errStr = 'Not found method'; $resultMethod->{$status} = ApiConstants::$ERROR_NOT_FOUND_METHOD; $resultMethod->params = $this->apiFunctionParams; } return json_encode($resultMethod, JSON_UNESCAPED_UNICODE); }
require_once SERVER_DIR . 'app/Controller/Api/apiConstants.php'; $url = explode('.', 'user.add'); $ApiCore = new ApiCore($url, $_REQUEST); print_r($ApiCore->callMethod()); }); Flight::route('POST /api/user.addArray', function () { require_once SERVER_DIR . 'app/Controller/Api/apiCore.php'; require_once SERVER_DIR . 'app/Controller/Api/apiBaseClass.php'; require_once SERVER_DIR . 'app/Controller/Api/apiConstants.php'; $url = explode('.', 'user.addArray'); $ApiCore = new ApiCore($url, $_REQUEST); print_r($ApiCore->callMethod()); }); Flight::route('GET /api/quest.getList', function () { require_once SERVER_DIR . 'app/Controller/Api/apiCore.php'; require_once SERVER_DIR . 'app/Controller/Api/apiBaseClass.php'; require_once SERVER_DIR . 'app/Controller/Api/apiConstants.php'; $url = explode('.', 'quest.getList'); $ApiCore = new ApiCore($url, $_REQUEST); print_r($ApiCore->callMethod()); }); Flight::route('/report', function () { if (!Auth::getInstance()->isAuth()) { Flight::redirect('/'); } if ($_REQUEST[Controllerusers::EMAIL_REPORT]) { Controllerusers::getInstance()->generateReport(); } else { Flight::redirect('/users'); } });
<?php $ApiCore = new ApiCore(CO::RE()->api, $_REQUEST); echo $ApiCore->callMethod();