PYZ: PhpStorm Plugin for Spryker

February 9, 2022 / Jochen Gartner

Our developer teams really enjoy working with Spryker. That said, it's no surprise that during "Breakout" 2021 – the week at Turbine Kreuzberg in which we take a break in our daily business and focus instead on building our own new projects – one of our teams decided to make life a little easier for everyone developing with Spryker on a regular basis. The result: a new IDE plugin called PYZ, which is ready for download and even open sourced for everyone who would like to contribute.

Those familiar with Spryker development know the drill. When you extend Spryker-Core functionality on the project level, you have to follow the same steps again and again:

  1. Create the correct directory structure,
  2. create a new file,
  3. extend the core file
  4. and finally import the core file (using an alias, because it shares the same name).

While this only takes a few seconds, it is error prone and tedious.

That's why a team of PHP developers at Turbine Kreuzberg developed PYZ, an IDE plugin compatible with PhpStorm and IntelliJ IDEA Ultimate. The plugin takes care of all of this, saving you precious time and nerves. PYZ allows Spryker developers to extend Spryker-core files with just a single click. Plus, the plugin enables navigation from ZED-stubs to gateway controllers and vice versa – something that is completely decoupled in Spryker and done via HTTP calls that are not traceable by any IDE.

The team created PYZ as a learning project during Breakout 2021 that they consciously set up to go towards benefiting the Spryker community by making it open source software. You are welcome to contribute! Feel free to create a pull request, or leave an issue if something does not work as intended.

PYZ was developed by Christian Müllenhagen, Daniar Asanov, Jochen Gartner, Lev Stejngardt and Özkan Yilmaz.

 

Download

GIMME GIMME GIMME!

To try it out for yourself, you can find and download PYZ on the JetBrains marketplace.

PYZ - A PhpStorm Plugin for Spryker Developers

  • Extend Spryker core classes, interfaces and xml files on project level (right-click > extend in PYZ / CTRL-ALT-E)
  • Goto-handling for Zed stub calls and their gateway controller actions (URLs are clickable)
  • Resolve usages of gateway controller actions in Zed stub calls

Usage

  • To extend files on project level, use the context menu item "Extend in PYZ". It will appear for files located in one of the Spryker vendor directories only.
  • Files can be extended in batches, just select multiple files at once.
  • You can configure the PYZ directory and the base-namespace in Settings > Tools > PYZ Plugin.

Jochen Gartner, Senior Developer
jochen.gartner@turbinekreuzberg.com