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..

We are currently working on the *Spryker Upgrade* and I saw that we have now *Transfer Strict Types*

Chemaclass
Chemaclass Tech Lead Spryker Solution Partner Posts: 213 🧑🏻‍🚀 - Cadet

We are currently working on the Spryker Upgrade and I saw that we have now Transfer Strict Types! 🥳
https://docs.spryker.com/docs/scos/dev/back-end-development/data-manipulation/data-in[…]tions/creating-using-and-extending-the-transfer-objects.html

The strict mode is disabled by default” says the documentation.

Is there a way to set strict types for all transfer from the core (vendor/*) or do we have to override all transfer objects and add the strict=true one by one? What is the approach would you recommend to achieve 100% strict types for all transfer objects in Spryker?

Comments

  • Please note that strict=true should only be applied to new transfers or fields, or in majors.
    Existing transfers have often a "dirty" input/output, so making all strict at once can cause, or will cause, fatal errors throughout the code base.
    For BC reasons we often cannot clean up as much as we would like to here.
    The main idea here is that types added for param/return will definitely be useful and important for all new code/transfers.

    The rest will happen over time, depending on the "BC breaks" we are allowed to do for cleanup, as well as resources.

  • Chemaclass
    Chemaclass Tech Lead Spryker Solution Partner Posts: 213 🧑🏻‍🚀 - Cadet

    Understood. Yes, that makes sense. Thanks for clarifying 👍