Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Vision for 1.0 #8

Open
5 of 13 tasks
limenet opened this issue Mar 7, 2024 · 0 comments
Open
5 of 13 tasks

Vision for 1.0 #8

limenet opened this issue Mar 7, 2024 · 0 comments
Assignees
Labels
enhancement New feature or request

Comments

@limenet
Copy link
Member

limenet commented Mar 7, 2024

While #3 brings us closer to an easy-to-use bundle there are several things I envision to make this bundle ready for version 1.0.

Please note: this vision itself is still WIP

  • The bundle should not get in the way of doing this but rather make it easy to be used, loose coupling is the goal
  • The bundle should have sane defaults as to reduce the need for config and minimize boilerplate code
  • The bundle should be able to be used in new projects as well as existing projects using https://github.com/zircote/swagger-php
  • The bundle should make it clear what's needed to make it work, e.g. by using interfaces
  • The bundle should make validation as easy and quick as possible i.e. perform as much static analysis as possible of the project's usage of this bundle
  • The bundle should support multiple HTTP methods for a single route
  • The bundle should support nested structures and arrays in MapRequestPayload
  • The bundle should automatically add the correct response for failed validation when using MapQueryString and MapRequestPayload
  • The bundle should support API responses which contain additional structures such as messages/notifications or a status Refactor to use looser coupling #3
  • The bundle should rely on (tagged) interfaces and simplify usage using abstract classes Refactor to use looser coupling #3
  • The bundle should only handle actual route methods (i.e. not protected methods from traits) Refactor to use looser coupling #3
  • The bundle should use the new Symfony\Component\Routing\Attribute\Route instead of the deprecated Symfony\Component\Routing\Annotation\Route namespace Refactor to use looser coupling #3
  • The bundle should work in combination with other systems such as https://symfony.com/blog/new-in-symfony-6-3-mapping-request-data-to-typed-objects, see Support for Mapping request data #11
@limenet limenet added the enhancement New feature or request label Mar 7, 2024
@limenet limenet self-assigned this Mar 7, 2024
@limenet limenet pinned this issue Mar 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant