1. Go to this page and download the library: Download shangab/slim-swagger library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
shangab / slim-swagger example snippets
use Shangab\Middleware\ShangabJWTUtil;
$jwtUtil = new ShangabJWTUtil;
$user =[LOGIN THE USER WITH YOUR CONTROLLER CODE];
$jwtToken = $jwtUtil->createToken($user);
$verified = $jwtUtil->verifyToken(); // token will be read from the request headers.
$password = $jwtUtil->getTempPassword(8);
$hashed = $jwtUtil->getHash256("Hello World!");
use Shangab\Middleware\ShangabSlimSwagger;
use Shangab\Middleware\ShangabJWTAuth;
$app = AppFactory::create();
$app->add(new ShangabSlimSwagger($app, 'Shangab Slim Swagger', '1.0.1', 'Api for Shangab Slim Swagger.'));
// Protected endpoins same group: "users"
$app->group('/users', function ($app) use ($container) {
$app->post('/add', function (Request $request, Response $response, $args) use ($container) {
$body = $request->getBody()->getContents();
$user = json_decode($body, true);
$container['data']['users'][] = $user;
$users = $container['data']['users'];
$response->getBody()->write(json_encode(['status' => true, 'message' => 'User addded', 'users' => $users]));
return $response->withHeader('Content-Type', 'application/json');
});
$app->put('/update', function (Request $request, Response $response, $args) use ($container) {
$body = $request->getBody()->getContents();
$user = json_decode($body, true);
$key = array_search($user['id'], array_column($container['data']['users'], 'id'));
$container['data']['users'][$key] = $user;
$users = $container['data']['users'];
$response->getBody()->write(json_encode(['status' => true, 'message' => 'User updated', 'users' => $users]));
return $response->withHeader('Content-Type', 'application/json');
});
$app->delete('/delete/{id}', function (Request $request, Response $response, $args) use ($container) {
$id = $args['id'];
$users = array_values(array_filter($container['data']['users'], function ($user) use ($id) {
return $user['id'] != $id;
}));
$response->getBody()->write(json_encode(['status' => true, 'message' => 'User deleted', 'users' => $users]));
return $response->withHeader('Content-Type', 'application/json');
});
})->add(new ShangabJWTAuth($app));
// All routes above this middleware will apply ShangabJWTAuth middleware protected routes.
// Below routes will not be protected by ShangabJWTAuth middleware.
// UnProtected endpoins same group: "users"
$app->group('/users', function ($app) use ($container) {
$app->get('/staff', function (Request $request, Response $response, $args) use ($container) {
$users = array_values(array_filter($container['data']['users'], function ($user) {
return $user['type'] == 'staff';
}));
$response->getBody()->write(json_encode($users));
return $response->withHeader('Content-Type', 'application/json');
});
$app->get('/client', function (Request $request, Response $response, $args) use ($container) {
$users = array_values(array_filter($container['data']['users'], function ($user) {
return $user['type'] == 'client';
}));
$response->getBody()->write(json_encode($users));
return $response->withHeader('Content-Type', 'application/json');
});
$app->get('/all', function (Request $request, Response $response, $args) use ($container) {
$users = $container['data']['users'];
$response->getBody()->write(json_encode($users));
return $response->withHeader('Content-Type', 'application/json');
});
});
$app->run();
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.