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

Fix initialisatie entities #1231

Open
NathanHuisman opened this issue Dec 5, 2024 · 0 comments
Open

Fix initialisatie entities #1231

NathanHuisman opened this issue Dec 5, 2024 · 0 comments

Comments

@NathanHuisman
Copy link
Contributor

NathanHuisman commented Dec 5, 2024

Op dit moment worden voor forms entities geïnitialiseerd via hun constructor. Dit komt met problemen, omdat de meeste entities hun velden niet initialiseren in hun constructors. Dit is geen probleem voor doctrine, omdat die dat niet nodig heeft, maar wel voor de formlogica (zie DoctrineEntityField.php).

$this->entity = $value ?? new $type();

We moeten dus beslissen of we de constructors wel of niet implementeren. Waarschijnlijk hebben we ze wel nodig. De fix is dan om voor alle entities constructor property promotion te gebruiken, dat is waarschijnlijk de beste optie.

Het probleem met sommige entities is dan dat we die niet meer direct in een formulierveld kunnen gebruiken, als we willen vereisen dat de ID van een profiel nooit null kan zijn, bijvoorbeeld (alles moet nullable zijn voor een formulierveld, als ik het goed begrijp). Gelukkig heeft Symfony zelf tools om formlogica te maken, maar helaas betekent dat wel dat we heel veel van de custom logica zullen moeten refactoren (om even een idee te geven van de schaal van deze onderneming, er zijn ong. zestig (!) classes die Formulier extenden)

NathanHuisman added a commit that referenced this issue Dec 5, 2024

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
DoctrineEntityField (superclass van ProfielEntityField) verwacht dat
na het callen van de constructor alle velden geinitialiseerd zijn. Los
dit op meet een tijdelijk hack, waar we de uid naar null zetten in de
constructor.

Dit is onhandig in de lange termijn (issue #1231), de oplossing is
waarschijnlijk om voor forms een andere class te gebruiken. Nog beter is
om de symfony form components te gebruiken ipv onze eigen custom logica.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant