Skip to content

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

@googoogajoob

Description

@googoogajoob
Contributor

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.

Activity

added this to the 1.6.0 milestone on Oct 13, 2021
removed this from the 1.6.0 milestone on Feb 9, 2022
Herrick19

Herrick19 commented on Feb 20, 2022

@Herrick19

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

fxedel

fxedel commented on Oct 11, 2022

@fxedel

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      Participants

      @cebe@Herrick19@googoogajoob@fxedel

      Issue actions

        Allow a more convenient method of working with "x-" specifications · Issue #121 · cebe/php-openapi