OpenAPITools / OpenAPITools/openapi-generator
[REQ][php] Add config option to generate API interfaces
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 26.8k
- Forks
- 7.7k
- PR merge metrics
- PR metrics pending
Description
Is your feature request related to a problem? Please describe.
It would be good to have an option to generate interfaces at least for API classes. That's related to all current PHP clients. Modern PHP development use interfaces as typehints instead of precise class names because it gives more flexibility with dependency autowiring.
Describe the solution you'd like
When generator config option includeInterfaces=true then output contains interface for each API class, like UsersApi -> UsersApiInterface.
Describe alternatives you've considered
We can add that option to the php-nextgen generator only.
Additional context
Can do myself and submit PR. I would add that config option at root level to AbstractPhpGenerator. Template for the interface should be pretty easy, because it obviously contains methods declarations only.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading AbstractPhpGenerator and the php-nextgen generator configuration, then inspect the existing PHP API templates. Done means includeInterfaces=true produces an interface for each API class, such as UsersApiInterface, while the default behavior remains unchanged.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- php
- Domain
- api, tooling
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100