/** * @return string */ public function display($displayWithDedicatedHeader = true, $printOnScreen = true) { if ($displayWithDedicatedHeader) { App::setJsonResponseHeader(); } $displayCode = json_encode($this->_viewData); if ($printOnScreen) { echo $displayCode; } return $displayCode; }
use PicoRest\Components\RoutePost; use PicoRest\Components\RouteDelete; use PicoRest\Components\RoutePut; use Sample\User\UserController; use Sample\User\UserView; use Sample\User\UserModel; use PicoRest\Configuration\AppConfiguration; $appConfiguration = AppConfiguration::getInstance(); $appConfiguration->set('key', 'value'); $userController = new UserController(); $userView = new UserView(); $userModel = new UserModel(); $userPDO = new PDO('mysql:host=localhost;dbname=picorest;charset=utf8', 'picorest', 'picorest'); $userController->setView($userView); $userView->setModel($userModel); $userModel->setPDO($userPDO); $userEndpoint = new Endpoint($userController, 'user', 'user', 'create, edit, delete user from users database'); $listUsersRoute = new RouteGet('listUsers', '/list\\/users', 'show list of users'); $editUserRoute = new RoutePut('editUser', '/edit\\/(\\d*)', 'edit user via id'); $createUserRoute = new RoutePost('createUser', '/create', 'create new user'); $deleteUserRoute = new RouteDelete('deleteUser', '/delete\\/(\\d*)', 'delete user by id'); $userEndpoint->assignRoute($listUsersRoute); $userEndpoint->assignRoute($editUserRoute); $userEndpoint->assignRoute($createUserRoute); $userEndpoint->assignRoute($deleteUserRoute); $apiV1 = App::createAndRegisterRestApi('/api/v1/'); $apiV1->assignEndpoint($userEndpoint); $apiV2 = App::createAndRegisterRestApi('/api/v2/'); $apiV2->assignEndpoint($userEndpoint); App::run();
public static function run() { /** @var ApiError $error */ $error = null; foreach (self::$_endPointInstances as $endPointInstance) { $endPointInstance->runApplication(); $error = $endPointInstance->getError(); if ($error == null) { break; } } if ($error instanceof ApiError) { App::setJsonResponseHeader(); $error->displayError(); } }