Skip to content

NormalizerBuilder::registerTransformer() with invokable class #764

@thePanz

Description

@thePanz

According to the docs here: https://valinor.cuyz.io/latest/serialization/common-transformers-examples/#transforming-property-name-to-snake_case

Image

Calling ->registerTransformer(new \My\App\CamelToSnakeCaseTransformer()) should be possible, but in reality phpstan is complaining about:

Parameter #1 $transformer of method CuyZ\Valinor\NormalizerBuilder::registerTransformer() expects (pure-callable():  
         mixed)|class-string, \My\App\CamelToSnakeCaseTransformer given.

I also tried the following formats, but none of those worked:

  1. ->registerTransformer(new \My\App\CamelToSnakeCaseTransformer()(...))
  2. ->registerTransformer(new \My\App\CamelToSnakeCaseTransformer()->invoke(...)

I am now adding /** @phpstan-ignore argument.type */ to ignore the error 😓

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions