Waar hoort een class die niet echt een model is in Laravel
Mark Hogeveen
11/09/2022 14:36:26Ik gebruik het Laravel php framework.
Standaard is het de bedoeling dat models in de map Models worden geordend.
Soms heb ik echter een class die ik niet echt beschouw als een model.
Deze worden soms ook wel "value objects" genoemd.
Stel je hebt bijvoorbeeld een class "Price", die de properties amount en currency heeft.
Of een class "LoginResult" met properties is_success, redirect_to, en error_message.
Deze classes voelen niet echt als een model, maar meer als een soort business object om data te ordenen en als een soort pakketje mee te geven aan andere code.
Het lijkt mij steeds alsof dit soort classes in een andere "categorie" horen, en dus niet echt models zijn, omdat ze niet echt business logica bevatten en voornamelijk een pakketje data zijn. Ook communiceren deze objecten zelf niet met andere classes, ze zijn als het ware "passief". En verder is er ook geen interactie met de database.
Waar in de projectstructuur horen dit soort classes?
Standaard is het de bedoeling dat models in de map Models worden geordend.
Soms heb ik echter een class die ik niet echt beschouw als een model.
Deze worden soms ook wel "value objects" genoemd.
Stel je hebt bijvoorbeeld een class "Price", die de properties amount en currency heeft.
Of een class "LoginResult" met properties is_success, redirect_to, en error_message.
Deze classes voelen niet echt als een model, maar meer als een soort business object om data te ordenen en als een soort pakketje mee te geven aan andere code.
Het lijkt mij steeds alsof dit soort classes in een andere "categorie" horen, en dus niet echt models zijn, omdat ze niet echt business logica bevatten en voornamelijk een pakketje data zijn. Ook communiceren deze objecten zelf niet met andere classes, ze zijn als het ware "passief". En verder is er ook geen interactie met de database.
Waar in de projectstructuur horen dit soort classes?
PHP hulp
03/12/2024 19:57:14Jan Koehoorn
11/09/2022 20:26:07Het gebeurt nog wel eens dat Value Objects tot Models gepromoveerd worden, bijvoorbeeld als de property "currency" uit de database moet komen. Ik denk dat het daarom in Laravel vaak zo gedaan wordt. In mijn eigen framework plaats ik ze toch in een eigen map, voor het overzicht.
Offtopic:
Ik werk wel graag met value objects, omdat puur het bestaan van zo'n object betekent dat het valid is
Offtopic:
Ik werk wel graag met value objects, omdat puur het bestaan van zo'n object betekent dat het valid is
Frank Holte
26/07/2023 14:07:52HY there i can see your post and i have some suggestion
You can try below things
- app
- Models
- User.php
- Product.php
- ...
- ValueObjects
- Price.php
- LoginResult.php
- ...
- Services
- UserService.php
- ProductService.php
- ...
- Controllers
- UserController.php
- ProductController.php
- ...
- ...
Thanks and regards
Frank Holte
You can try below things
- app
- Models
- User.php
- Product.php
- ...
- ValueObjects
- Price.php
- LoginResult.php
- ...
- Services
- UserService.php
- ProductService.php
- ...
- Controllers
- UserController.php
- ProductController.php
- ...
- ...
Thanks and regards
Frank Holte