php-openapi icon indicating copy to clipboard operation
php-openapi copied to clipboard

Allow a more convenient method of working with "x-" specifications

Open googoogajoob opened this issue 4 years ago • 2 comments

First Point: Excellent project. I've written an OpenApi loader myself. Yours is much better.

Second Point: The openapi specification of keywords allows for the possibility of extending them with the "x-" syntax: https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#specification-extensions

In a project I am working on we have made use of this feature. When using cebe/php-openapi I've run into a problem.

  • openapi requires the use of the "x-" syntax
  • php interprets "x-" not as a variable (or something similar) but sees the "-" as an operation. Particularly with the function isset()
  • cebe/php-openapi relies on the native php convention variable/(class attribute names)
  • When using isset() to determine if a keyword has been specified PHP reports an error. I have been able to work around this problem by using getSerializableData(). However it would be nice and more convenient if one could access openapi variables (keywords) which use a "-" as part of their name.

googoogajoob avatar Aug 15 '21 13:08 googoogajoob

Sorry to jump in this discussion, but I feel like this is an "unneeded" feature request...

PHP support this syntax to access properties with "-" in variable names:

$Operation->{'x-foo-bar'}

and it works well, I have no issue at all accessing extension having a "-" in their name...

Hope this helps

Herrick19 avatar Feb 20 '22 21:02 Herrick19

Is this already fixed by #113? E.g. $info->getExtensions()['x-extra-var']

fxedel avatar Oct 11 '22 20:10 fxedel