public function get_ValidHandler_RegisterEndpoint() { // arrange $expectedEndpoint = new Endpoint(self::VALID_ENDPOINT_PATH, $this->VALID_ENDPOINT_DEPENDENCIES, $this->VALID_ENDPOINT_HANDLER); $module = new Module(self::VALID_MODULE_NAME); // act $module->get(self::VALID_ENDPOINT_PATH, $this->VALID_ENDPOINT_DEPENDENCIES, $this->VALID_ENDPOINT_HANDLER); // assert Assert::areSame($module->endpoints, ['GET' => [self::VALID_ENDPOINT_PATH => $expectedEndpoint], 'POST' => [], 'PUT' => [], 'DELETE' => []]); }
<?php use Phale\Module; use Phale\Request; use Phale\Response; use PhaleDemo\Database; use PhaleDemo\User\IUserService; use PhaleDemo\User\UserService; $users = new Module('users'); $users->factory('userService', ['database'], function (Database $database) { return new UserService($database); }); /** * @api {get} /user List * @apiName ListUsers * @apiGroup User */ $users->get('', ['userService'], function (Request $request, Response $response, IUserService $userService) { $response->json($userService->findAll()); }); $users->post('', ['userService'], function (Request $request, Response $response, IUserService $userService) { }); require_once 'user.api.php'; $users->module('/:id', $user);
* "id": 1, * "username": "******", * "password": "******", * "email": "*****@*****.**", * "notes": "", * "deleted": false, * "created_at": "2016-01-22 00:24:08", * "updated_at": "2016-01-22 00:24:08" * } * * @apiError (Error 404) UserNotFoundError When the user id isn't found. * * @apiErrorExample Error Response Example * HTTP/1.1 404 Not Found * { * "error": "UserNotFoundError" * "reason: "The user id was not found." * } */ $user->get('', ['userService'], function (Request $request, Response $response, $id, IUserService $userService) { try { $response->json($userService->find($id)); } catch (UserNotFoundException $e) { $response->status = 404; $response->json(['error' => 'UserNotFoundError', 'reason' => 'The user id was not found.']); } }); $user->put('', ['userService'], function (Request $request, Response $response, $id, IUserService $userService) { }); $user->delete('', ['userService'], function (Request $request, Response $response, $id, IUserService $userService) { });