Calling Developers!
We are reenergizing our code contribution process! Learn More

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 guys, can you answer that how to decode Zed Route or where routing defined in Zed in Spryker

U04TV8QP04C Posts: 38 🧑🏻‍🚀 - Cadet

Hey guys, can you answer that how to decode Zed Route or where routing defined in Zed in Spryker


  • Alberto Reyer
    Alberto Reyer Lead Spryker Solution Architect / Technical Director Posts: 690 🪐 - Explorer
    edited March 2023

    The Zed routing works by a schema dating back to Zend Framework (now called Laminas) which is also where the name Zed came from.
    It's basically <Module>/<Controller>/<Action>. For example /sales/detail will be routed to the Sales module, using the DetailController.
    All Controllers for Zed are expected to be found at <Module>/Communication/Controller/<ControllerName>Controller.
    If no action is given, like in the example above, the indexAction will be used as default.
    The implementation can be found at for the Zed routing.

    In addition be aware that Zed is no split into 3 different applications, backoffice, gateway and backend-api.
    The routing schema described above only applies to the backoffice.

    For the gateway Zed application the routing schema is
    /<module>/gateway/<action> which will be routed to <Module>/Communication/Controller/GatewayController::<action>Action().

    Some pitfalls you need to be aware of:

    • Controllers are always suffixed with Controller
    • Controllers are placed in <Module>/Communication/Controller
    • Actions are always suffixed with Action
    • If no Action is given the indexAction is called
    • If no Controller is given, the IndexController of the given module is used