Sylius / Sylius/SyliusResourceBundle
Automatically create and wire form type services when possible
Nobody has claimed this yet.
- Dominant language
- PHP
- Stars
- 235
- Forks
- 166
- PR merge metrics
- No merged PRs in 30d
Description
The screenshot in the example here currently suggests that a form type service is being automatically created for every custom resource.
This is not true, but I think everyone would benefit if it actually were true. Sylius Standard automatically disables autowiring for all form types which extend AbstractResourceType. This means that we aren't getting any errors about Symfony's inability to autowire the constructor of AbstractResourceType, but whenever a form like that is actually used, the error still pops up, asking you to wire these two arguments manually.
It would be nice if the ResourceBundle's DI took care to wire these two arguments (class name and validation groups) for all forms which extend AbstractResourceType. This would allow us to avoid hardcoding the actual class name in the forms and would nicely complement the way other services (Controller, Factory, Manager, Repository) are created.
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 in the ResourceBundle's dependency-injection setup and trace how forms extending AbstractResourceType are registered and constructed. Compare this with the existing automatic Controller, Factory, Manager, and Repository services. Done means custom resource forms receive the class name and validation groups without manual wiring, with the documented behavior matching the implementation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- php, symfony
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100