Yuriy Belenko aa61220db2
[php-slim4] Add dependency injection container 2 (#11159)
* Change packages order alphabetically

* Add PHP-DI package to Composer template

* Remove ContainerInterface from APIs

User shouldn't access container directly, it's an anti-pattern.

Ref: https://php-di.org/doc/best-practices.html#rules-for-using-a-container-and-dependency-injection

* Change app templates to use PHP-DI

Application looks more like a default Slim skeleton now.

Ref: https://github.com/slimphp/Slim-Skeleton

* Rename SlimRouter to RegisterRoutes

Since it's callable class new name fits better.

* Add short documentation

* Refresh samples
2021-12-29 10:57:19 +08:00

202 lines
7.3 KiB
PHP

<?php
/**
* OpenAPI Petstore
* PHP version 7.4
*
* @package OpenAPIServer
* @author OpenAPI Generator team
* @link https://github.com/openapitools/openapi-generator
*/
/**
* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
* The version of the OpenAPI document: 1.0.0
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
/**
* NOTE: This class is auto generated by the openapi generator program.
* https://github.com/openapitools/openapi-generator
* Do not edit the class manually.
* Extend this class with your controller. You can inject dependencies via class constructor,
* @see https://github.com/PHP-DI/Slim-Bridge basic example.
*/
namespace OpenAPIServer\Api;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Message\ResponseInterface;
use Slim\Exception\HttpNotImplementedException;
/**
* AbstractUserApi Class Doc Comment
*
* @package OpenAPIServer\Api
* @author OpenAPI Generator team
* @link https://github.com/openapitools/openapi-generator
*/
abstract class AbstractUserApi
{
/**
* POST createUser
* Summary: Create user
* Notes: This can only be done by the logged in user.
*
* @param ServerRequestInterface $request Request
* @param ResponseInterface $response Response
*
* @return ResponseInterface
* @throws HttpNotImplementedException to force implementation class to override this method
*/
public function createUser(
ServerRequestInterface $request,
ResponseInterface $response
): ResponseInterface {
$body = $request->getParsedBody();
$message = "How about implementing createUser as a POST method in OpenAPIServer\Api\UserApi class?";
throw new HttpNotImplementedException($request, $message);
}
/**
* POST createUsersWithArrayInput
* Summary: Creates list of users with given input array
*
* @param ServerRequestInterface $request Request
* @param ResponseInterface $response Response
*
* @return ResponseInterface
* @throws HttpNotImplementedException to force implementation class to override this method
*/
public function createUsersWithArrayInput(
ServerRequestInterface $request,
ResponseInterface $response
): ResponseInterface {
$body = $request->getParsedBody();
$message = "How about implementing createUsersWithArrayInput as a POST method in OpenAPIServer\Api\UserApi class?";
throw new HttpNotImplementedException($request, $message);
}
/**
* POST createUsersWithListInput
* Summary: Creates list of users with given input array
*
* @param ServerRequestInterface $request Request
* @param ResponseInterface $response Response
*
* @return ResponseInterface
* @throws HttpNotImplementedException to force implementation class to override this method
*/
public function createUsersWithListInput(
ServerRequestInterface $request,
ResponseInterface $response
): ResponseInterface {
$body = $request->getParsedBody();
$message = "How about implementing createUsersWithListInput as a POST method in OpenAPIServer\Api\UserApi class?";
throw new HttpNotImplementedException($request, $message);
}
/**
* DELETE deleteUser
* Summary: Delete user
* Notes: This can only be done by the logged in user.
*
* @param ServerRequestInterface $request Request
* @param ResponseInterface $response Response
* @param string $username The name that needs to be deleted
*
* @return ResponseInterface
* @throws HttpNotImplementedException to force implementation class to override this method
*/
public function deleteUser(
ServerRequestInterface $request,
ResponseInterface $response,
string $username
): ResponseInterface {
$message = "How about implementing deleteUser as a DELETE method in OpenAPIServer\Api\UserApi class?";
throw new HttpNotImplementedException($request, $message);
}
/**
* GET getUserByName
* Summary: Get user by user name
* Output-Formats: [application/xml, application/json]
*
* @param ServerRequestInterface $request Request
* @param ResponseInterface $response Response
* @param string $username The name that needs to be fetched. Use user1 for testing.
*
* @return ResponseInterface
* @throws HttpNotImplementedException to force implementation class to override this method
*/
public function getUserByName(
ServerRequestInterface $request,
ResponseInterface $response,
string $username
): ResponseInterface {
$message = "How about implementing getUserByName as a GET method in OpenAPIServer\Api\UserApi class?";
throw new HttpNotImplementedException($request, $message);
}
/**
* GET loginUser
* Summary: Logs user into the system
* Output-Formats: [application/xml, application/json]
*
* @param ServerRequestInterface $request Request
* @param ResponseInterface $response Response
*
* @return ResponseInterface
* @throws HttpNotImplementedException to force implementation class to override this method
*/
public function loginUser(
ServerRequestInterface $request,
ResponseInterface $response
): ResponseInterface {
$queryParams = $request->getQueryParams();
$username = (key_exists('username', $queryParams)) ? $queryParams['username'] : null;
$password = (key_exists('password', $queryParams)) ? $queryParams['password'] : null;
$message = "How about implementing loginUser as a GET method in OpenAPIServer\Api\UserApi class?";
throw new HttpNotImplementedException($request, $message);
}
/**
* GET logoutUser
* Summary: Logs out current logged in user session
*
* @param ServerRequestInterface $request Request
* @param ResponseInterface $response Response
*
* @return ResponseInterface
* @throws HttpNotImplementedException to force implementation class to override this method
*/
public function logoutUser(
ServerRequestInterface $request,
ResponseInterface $response
): ResponseInterface {
$message = "How about implementing logoutUser as a GET method in OpenAPIServer\Api\UserApi class?";
throw new HttpNotImplementedException($request, $message);
}
/**
* PUT updateUser
* Summary: Updated user
* Notes: This can only be done by the logged in user.
*
* @param ServerRequestInterface $request Request
* @param ResponseInterface $response Response
* @param string $username name that need to be deleted
*
* @return ResponseInterface
* @throws HttpNotImplementedException to force implementation class to override this method
*/
public function updateUser(
ServerRequestInterface $request,
ResponseInterface $response,
string $username
): ResponseInterface {
$body = $request->getParsedBody();
$message = "How about implementing updateUser as a PUT method in OpenAPIServer\Api\UserApi class?";
throw new HttpNotImplementedException($request, $message);
}
}