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

Component Config injection #152

Closed
3 tasks done
Tracked by #151
LastDragon-ru opened this issue Apr 25, 2024 · 1 comment · Fixed by #197 or #198
Closed
3 tasks done
Tracked by #151

Component Config injection #152

LastDragon-ru opened this issue Apr 25, 2024 · 1 comment · Fixed by #197 or #198
Assignees
Labels
! Breaking change scope: refactor
Milestone

Comments

@LastDragon-ru
Copy link
Owner

LastDragon-ru commented Apr 25, 2024

And get rid of arrays... Because it is extremely difficult to update examples in the docs when component settings were changed. There is also no validation for settings names, difficult to rename, difficult to deprecate, etc, etc. All of them can be solved if we will use objects instead of arrays.

Internally Laravel uses var_export to cache the config, so seems objects should be fine.

  • Convert to objects
  • Make sure that existing array based config still can be used (should trigger the deprecation message)
  • Injection
@LastDragon-ru LastDragon-ru self-assigned this Apr 25, 2024
@LastDragon-ru LastDragon-ru added scope: refactor ! Breaking change labels Apr 25, 2024
@LastDragon-ru LastDragon-ru added this to the Next milestone Apr 25, 2024
@LastDragon-ru LastDragon-ru changed the title Config injection Component Config injection Apr 25, 2024
@LastDragon-ru
Copy link
Owner Author

Make sure that existing array based config still can be used (should trigger the deprecation message)

Work for all except formatter (new config is too different)

@LastDragon-ru LastDragon-ru linked a pull request Nov 15, 2024 that will close this issue
github-actions bot pushed a commit that referenced this issue Nov 17, 2024
This version is the deep refactoring of how the Application/Config and other global Laravel things are injected into classes (no implicit dependencies, see #151), how the package configs looks (no more untyped arrays, see #152), how the `Formatter` works internally (simplification and more extendabilities). And, probably the most interesting part, is improvements of the `Documentator` - the `Processor` is used for all tasks, the links will be correctly updated when one document is included into another; code links support, etc. Please follow [Upgrade Guide](https://github.com/LastDragon-ru/lara-asp/blob/main/UPGRADE.md) to migrate 🤗. You can ask a question and/or discuss in [release disscussion](#201).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
! Breaking change scope: refactor
Projects
None yet
1 participant