spryker-sdk/spryk-src

SprykSrc 模块

dev-master / 1.0.x-dev 2024-09-19 15:51 UTC

README

CI Latest Stable Version Minimum PHP Version PHPStan

安装

composer require --dev spryker-sdk/spryk-src

您还可以使用 git clone

这是一个仅限开发的 "require-dev" 库。请确保您将其作为此类包含。

注意

此存储库是仅限开发的包,不会直接安装在项目中。

此包包含所有将被编译到 spryk.phar 中的代码,该代码将被安装。

有关详细信息,请参阅 编译 部分。

什么是 Spryks?

Spryks 是 Spryker 的一种代码生成器。编写代码通常是一项非常重复的任务,您经常需要编写大量代码才能遵循 Spryker 清晰且复杂的架构。为了从编写设置代码的繁琐工作中解脱出来,并更快地转向编写业务代码,Spryks 应运而生。

Spryks 是使用 yml 文件编写的。yml 文件的名称也代表了 Spryk 名称。在大多数情况下,Spryk yml 包含构建运行所需的参数。几乎所有 Spryks 都需要模块名称才能正常运行。一些 Spryks 需要更多的参数。

绝大多数 Spryks 需要在被调用的 Spryk 运行之前执行其他 Spryks。例如,添加 Zed Business Facade 需要在 Facade 本身创建之前正确创建模块。因此,Spryks 有预 Spryks 和后 Spryks,通过调用一个 Spryk,可以为您创建许多事物。

如何创建一个 Spryk?

在大多数情况下,创建 Spryk 非常简单。由于整个 Spryk 工具都经过测试覆盖,您也必须首先为要创建的 Spryk 添加一个测试。

如果您只需要添加新的 Spryk 配置,您将首先为新的 Spryk 定义添加一个集成测试。您需要添加您想要测试的 Spryk 名称。例如,添加 MySuperNiceFile,并在执行测试后添加断言以创建此文件。

完成此操作后,使用 vendor/bin/codecept run Integration -g {YOUR TEST GROUP} 运行集成测试,并查看测试失败。您将收到一条消息,说明根据给定的名称未找到 Spryk 定义,因此添加您新 Spryk 的定义文件。

您需要将您的 Spryk 定义文件添加到项目或核心级别的 config/spryk/spryks/

project OR package root directory
│
└─── config/
│   └─── spryk/
│   │    └─── spryks/
│   │         │   ...
│   │         │   spryk-name.yml
│   │         │   ...
│   └─── ...

如果您选择了模板 Spryk,您可能会看到错误,说明无法找到定义的模板文件。在这种情况下,您需要将模板添加到项目或核心级别的 config/spryk/templates/

project OR package root directory
│
└─── config/
│   └─── spryk/
│   │    └─── templates/
│   │         │   ...
│   │         │   template-name.twig
│   │         │   ...
│   └─── ...

完成此操作后,重新运行您的测试。现在您应该看到一个绿色的测试。

编译

注意

您需要安装 BOX 来创建 spryk.phar 存档。

spryker-sdk/sprykspryker-sdk/spryk-src 需要一起安装。

要编译 spryk.phar,您需要执行以下步骤

  • composer update
  • bin/console spryk:compile

这将安装最新的依赖项,创建新的缓存并编译存档。

控制台命令

运行 Spryks

运行 Spryk 构建过程。

bin/spryk [options] [--] <spryk> [<targetModule> [<dependentModule>]]
#or
php bin/spryk-run [options] [--] <spryk> [<targetModule> [<dependentModule>]]

spryk 要构建的特定 Spryk 名称。

选项

  • --dry-run 仅打印差异,不更改文件。
  • --include-optional=INCLUDE-OPTIONAL 标记为可选但需要构建的 Spryks 名称。

导出 Spryks

导出所有 Spryk 定义列表。

php bin/spryk-dump [options] [--] [<spryk>...]

spryk 要导出选项的特定 Spryk 名称。

选项

  • --level=LEVEL Spryk 可见级别(1,2,3,全部)。默认值为 1(主要 Spryk 命令)。

构建 Spryks

为所有可能的 Spryk 参数构建缓存。此命令仅在提供新参数时使用。

php bin/spryk-build

更多信息