mirror of
https://github.com/OpenAPITools/openapi-generator.git
synced 2025-05-28 20:40:52 +00:00
* [Slim4] Copy Slim3 generator as starting point * [Slim4] Add psr7Implementation generator option Slim supports PSR-7 interfaces for its Request and Response objects. Slim provides its own PSR-7 implementation so that it works out of the box. However, you are free to replace Slim’s default PSR-7 objects with a third-party implementation. [Ref] https://www.slimframework.com/docs/v4/concepts/value-objects.html * [Slim4] Handle psr7Implementation generator option It somehow ended up with composerPackages and composerDevPackages codegen variables and two additional functions. Hope, it's not too much. * [Slim4] Extend from Slim3 generator * [Slim4] Bump PHP Slim Framework version to 4.0.0 * [Slim4] Bump required PHP version to 7.1 [Upgrade Guide](https://www.slimframework.com/docs/v4/start/upgrade.html) * [Slim4] Remove app settings Slim’s App settings used to be a part of the container and they have now been decoupled from it. [Upgrade Guide](https://www.slimframework.com/docs/v4/start/upgrade.html) * [Slim4] Set container argument optional Slim uses an optional dependency container to prepare, manage, and inject application dependencies. Slim supports containers that implement PSR-11 like [PHP-DI](http://php-di.org/doc/frameworks/slim.html). [Upgrade Guide](https://www.slimframework.com/docs/v4/start/upgrade.html) * [Slim4] Change response body write You can't write to response instance directly anymore, need to retrieve body object first. [Doc](https://www.slimframework.com/docs/v4/objects/response.html#the-response-body) * [Slim4] Change Slim\App constructor [Upgrade Guide](https://www.slimframework.com/docs/v4/start/upgrade.html) * [Slim4] Refactor token authentication options User can provide array or Container as constructor argument from now. Small refactoring required to retrieve authentication options from that argument. * [Slim4] Add PSR-7 implementation codegen flags This approach seems more flexible to me. User can customize templates in favor of chosen PSR7 implementation. It's easier to change Composer packages and their versions. * [Slim4] Add JsonBodyParserMiddleware Slim4 doesn't parse JSON body, need to add suggested middleware. Ref: https://www.slimframework.com/docs/v4/objects/request.html#the-request-body * [Slim4] Remove request's deprecated methods usage Since Slim 4.0.0 ServerRequest implementation doesn't have getQueryParam and getParsedBodyParam methods anymore. * [Slim4] Use getUploadedFiles for multipart request isMultipart codegen property is always false so far. Hope that bug will be fixed soon. * [Slim4] Add samples
20 lines
1.7 KiB
Markdown
20 lines
1.7 KiB
Markdown
---
|
|
title: Config Options for php-slim4
|
|
sidebar_label: php-slim4
|
|
---
|
|
|
|
| Option | Description | Values | Default |
|
|
| ------ | ----------- | ------ | ------- |
|
|
|sortParamsByRequiredFlag|Sort method arguments to place required parameters before optional parameters.| |true|
|
|
|ensureUniqueParams|Whether to ensure parameter names are unique in an operation (rename parameters that are not).| |true|
|
|
|allowUnicodeIdentifiers|boolean, toggles whether unicode identifiers are allowed in names or not, default is false| |false|
|
|
|prependFormOrBodyParameters|Add form or body parameters to the beginning of the parameter list.| |false|
|
|
|modelPackage|package for generated models| |null|
|
|
|apiPackage|package for generated api classes| |null|
|
|
|variableNamingConvention|naming convention of variable name, e.g. camelCase.| |camelCase|
|
|
|invokerPackage|The main namespace to use for all classes. e.g. Yay\Pets| |null|
|
|
|packageName|The main package name for classes. e.g. GeneratedPetstore| |null|
|
|
|srcBasePath|The directory to serve as source root.| |null|
|
|
|artifactVersion|The version to use in the composer package version field. e.g. 1.2.3| |null|
|
|
|psr7Implementation|Slim 4 provides its own PSR-7 implementation so that it works out of the box. However, you are free to replace Slim’s default PSR-7 objects with a third-party implementation. Ref: https://www.slimframework.com/docs/v4/concepts/value-objects.html|<dl><dt>**slim-psr7**</dt><dd>Slim PSR-7 Message implementation</dd><dt>**nyholm-psr7**</dt><dd>Nyholm PSR-7 Message implementation</dd><dt>**guzzle-psr7**</dt><dd>Guzzle PSR-7 Message implementation</dd><dt>**zend-diactoros**</dt><dd>Zend Diactoros PSR-7 Message implementation</dd><dl>|slim-psr7|
|