<?php require_once __DIR__ . '/../app/config/config.php'; require_once __DIR__ . '/../app/api/UserDAO.php'; require_once __DIR__ . '/../app/api/Myapi.php'; $myApi = new MyApi($_REQUEST['request']); switch ($myApi->getType()) { /************************GET all users**********************/ case 'users': if ($myApi->getMethod() == 'GET') { $userDao = new UserDAO($pdo); $result = $userDao->findAll(); $responseData = array(); foreach ($result as $userId => $user) { $responseData[] = array('id' => $userId, 'login' => $user->getLogin(), 'password' => $user->getPassword()); } echo $myApi->_response($responseData, 200); } else { echo $myApi->_response('Invalid Method', 405); } break; case 'user': /************************GET user by id**********************/ if ($myApi->getMethod() == 'GET' && $myApi->getId() != null) { $userDao = new UserDAO($pdo); $user = $userDao->findUserById($myApi->getId()); $responseData = array(); if ($user != null) { $responseData[] = array('id' => $user->getId(), 'login' => $user->getLogin(), 'password' => $user->getPassword()); echo $myApi->_response($responseData, 200); } else {
session_start(); error_reporting(0); /** * Access point for all API calls */ set_include_path('.' . PATH_SEPARATOR . './library/MyApi' . PATH_SEPARATOR . './library/Api'); include "library/Api/Bootstrap.php"; include "library/MyApi/MyApi.php"; // Fix json encode for older PHP version than 5.2 include "library/Json/Encoder.php"; // Create request object $request = new Api_Request("http://192.168.1.101:8080/Source/Projects/PHP/APIFramework/src/Script/"); $request->setParams(array("version", "service", "method")); $request->analyze(); // Load config $config = parse_ini_file("config.ini", true); // Create Custom api instance $api = new MyApi(); // Add modify config hook $api->addHook("Api_Hook_ConfigModify", Api_Hook_IHook::HOOK_CONFIG_LOADED); $api->addHook("Api_Hook_BlockIp", Api_Hook_IHook::HOOK_BEFORE_SERVICE_EXECUTE); $api->addHook("Api_Hook_RequestLimit", Api_Hook_IHook::HOOK_BEFORE_SERVICE_EXECUTE); $api->addHook("Api_Hook_ParserModify", Api_Hook_IHook::HOOK_MODIFY_PARSER); // Handle api request and catch errors try { $api->handle($request, $config); } catch (Api_Error $error) { $response = new Api_Response($error->getCode(), null, $error); $api->send($response); }
*/ /* * php -S localhost:8080 index.php */ include_once '../vendor/autoload.php'; class MyApi { use \PayBreak\Rpc\Api; protected function getActions() { return ['ping' => [self::class, 'ping']]; } protected function authenticate() { return true; } protected function getRequestAction() { return \PayBreak\Rpc\Request::getParam('action'); } protected function getRequestParams() { return (array) \PayBreak\Rpc\Request::getParam('params'); } protected function ping(array $params) { return ['pong' => true, 'request' => $params]; } } $obj = new MyApi(); $obj->executeCall();