What are the Slack Archives?
It’s a history of our time together in the Slack Community! There’s a ton of knowledge in here, so feel free to search through the archives for a possible answer to your question.
Because this space is not active, you won’t be able to create a new post or comment here. If you have a question or want to start a discussion about something, head over to our categories and pick one to post in! You can always refer back to a post from Slack Archives if needed; just copy the link to use it as a reference..
Hey people! I got a tech-question for you 🙂 Why do you (:spryker:) have this p
Hey people! I got a tech-question for you 🙂
Why do you (:spryker:) have this pattern of returning the Container object in the DependencyProvider (and some other places as well) where you return the same object that you pass as argument WHEN actually objects are passed by reference (not by value)?
If we would talked about immutable objects where we are returning a new (immutable)instance, then it would make sense to return the new object (with the new state), but this is not the case in most of the places I've seen in Spryker (or should I say all of them so far...) specially this, inside the DependencyProvider.
For me, personally, it seems more like unnecessary boiler-plate code. Or am I missing something here? Thanks!
(I attached two pictures: the current code from ProductDependencyProvider
and my example)
Comments
-
We have the convention: when you pass object to change it, we need to return the same object.
So in this case it doesn't matter how the function is implemented, maybe it will do (new Class()) or clone $class, but we know that we expect the same TYPE of object.
0 -
mmm I see. Then it's an internal :spryker: convention. All right. Thanks, @UKBTMFXMJ!
0 -
so if you don't like it and don't want to follow this convention - you are absolutely free of choice
0
Categories
- All Categories
- 42 Getting Started & Guidelines
- 7 Getting Started in the Community
- 8 Additional Resources
- 7 Community Ideas and Feedback
- 76 Spryker News
- 927 Developer Corner
- 785 Spryker Development
- 88 Spryker Dev Environment
- 362 Spryker Releases
- 3 Oryx frontend framework
- 35 Propel ORM
- 68 Community Projects
- 3 Community Ideation Board
- 30 Hackathon
- 3 PHP Bridge
- 6 Gacela Project
- 26 Job Opportunities
- 3.2K 📜 Slack Archives
- 116 Academy
- 5 Business Users
- 370 Docker
- 551 Slack General
- 2K Help
- 75 Knowledge Sharing
- 6 Random Stuff
- 4 Code Testing
- 32 Product & Business Questions
- 70 Spryker Safari Questions
- 50 Random