Spryk configuration reference
Edit on GitHubAll the Spryk definitions are located in the config/spryk/spryks
directory. A Spryk’s name is defined by its filename.
The following example illustrates the Spryk configuration:
spryk: wrapper
description: "Adds CRUD code for a Domain Entity."
condition: "organization === 'Pyz'"
mode: both
level: 2
arguments:
organization:
inherit: true
default: Spryker
excludedSpryks:
- AddZedPresentationTwig
postSpryks:
- AddZedDomainEntityDeleter
This document explains the configuration of Spryks.
The root configuration
In Spryk configuration, the following elements are used:
Spryk
The name of the builder that is used to process the Spryk. All the builders reside in src/Spryk/Model/Spryk/Builder/
and must implement SprykerSdk\Spryk\Model\Spryk\Builder\SprykBuilderInterface::getName()
.
description
The description of the Spryk. This must be added to give the reader of the Spryk definition a clear description of what this Spryk does.
mode
The mode of the Spryk. This is used to run specific Spryks by passing the --mode
option to the command. The reserved both
value allows running a Spryk in any case.
The following modes are available:
-
mode: project
—Spryk runs only with the--mode=project
option in the CLI command. -
mode: core
—Spryk runs only with the--mode=core
option in the CLI command. -
mode: both
—Spryk runs regardless of the--mode
option value, or without this option at all in the CLI command.
level
Used only for the Spryk dumper to dump the specific level of Spryks. You can use, for example,
vendor/bin/spryk-dump --level=1
or vendor/bin/spryk-dump --level=all
.
condition
Defines the condition of the Spryk execution. If the condition is false
, the Spryk execution is skipped with its pre- or postSpryks. You must define the arguments that are used in condition, in the Spryk arguments list.
arguments
The Spryk argument list. These arguments are used in the Spryk builder. See Arguments for details.
preSpryks
The Spryks that should be executed before the current Spryk.
postSpryks
The Spryks that must be executed after the current Spryk.
excludedSpryks
Excludes the execution of the Spryks that are placed in preSpryks
and postSpryks
. Useful when you reuse a Spryk and you don’t need some of the Spryks defined in preSpryks
or postSpryks
.
preCommands
The commands that must be executed before the current Spryk.
postCommands
The commands that should be executed after the current Spryk.
Arguments
The part with arguments in a Spryk can look like this:
arguments:
organization: # argument name
inherit: true
default: Spryker
There can be the following arguments:
inherit
Declares that the argument value can be inherited from the parent Spryk when not set explicitly.
default
The default value for the argument if not passed from CLI.
value
The argument value to be used. Useful when you need to compose a value from another argument value or apply some TWIG filters or functions. Example:
arguments:
target:
value: "\\Glue\\\\Dependency\\Client\\ToClientBridge"
name:
value: "CLIENT_"
isOptional
If an argument is optional, the values can be empty. Otherwise, the argument’s value must be provided. This option is false
by default, which means the value is required.
isMultiple
The argument can have multiple values, and a value can be provided as a list of values:
arguments:
target:
isMultiple: true
allowOverride
This option is only valid for the body argument of a Spryk method and defines whether you can override the existing method body:
body:
allowOverride: true
value: "App/Registry/ZedControllerDisconnectMethod.php.twig"
callback
The pre-processing callback that is applied to value before passing to the Spryk. It should implement SprykerSdk\Spryk\Model\Spryk\Definition\Argument\Callback\CallbackInterface
.
Thank you!
For submitting the form