goldfinch/harvest

Harvest 是一个种子组件,可以帮助您打包由 Taz 运行的自动化任务。

安装: 432

依赖项: 11

建议者: 0

安全性: 0

星级: 0

关注者: 1

分支: 0

开放问题: 0

类型:silverstripe-vendormodule

v2.0.2 2024-05-14 01:39 UTC

This package is auto-updated.

Last update: 2024-09-14 02:22:58 UTC


README

Silverstripe Version Package Version Total Downloads License

Harvest 是一个种子组件 🚟,它可以帮助您打包由 Taz🌪️ 运行的自动化任务。

安装

composer require goldfinch/harvest

可用的 Taz 命令

如果您之前没有使用过 Taz🌪️,则必须在您的根项目文件夹中存在 taz 文件,可以使用 cp vendor/goldfinch/taz/taz taz 命令来创建。

创建新的 harvest

php taz make:harvest

列出所有可用的 harvester

php taz harvest

运行特定的 harvest

php taz harvest myharvest

运行所有可用的 harvester

php taz harvest:all

用例示例

让我们创建一个新的 harvest,命名为 Pages,它将处理 Page Mill,它将通过执行单个命令为我们生成假记录。

1. 创建新的 harvest

php taz make:harvest Pages
# What [short name] does this harvest need to be called by? : pages

创建新的 harvest 后,我们需要运行 dev/build 来更新 harvest 列表

php taz dev/build

现在我们的 harvest pages 应该在 harvest 列表中可用,让我们来检查一下

php taz harvest

2. 创建新的 mill

由于我们决定 harvest 将管理 mill 工厂,我们需要创建一个。有关 mill 的更多信息,请参阅 goldfinch/mill

php taz make:mill Page
# What [class name] does this mill is going to work with? : Page

让我们通过添加一些占位符数据来修改我们的 Mill

namespace App\Mills;

use Goldfinch\Mill\Mill;

class PageMill extends Mill
{
    public function factory(): array
    {
        return [
            'Title' => $this->faker->catchPhrase(),
            'Content' => $this->faker->paragraph(20),
        ];
    }
}

我们还需要确保在 goldfinch/mill 中提到的 Millable 特性被添加到 Page 类中。

namespace {

    use Goldfinch\Mill\Traits\Millable;
    use SilverStripe\CMS\Model\SiteTree;

    class Page extends SiteTree
    {
        use Millable;

        private static $db = [];
    }
}

3. 准备您的 harvest

现在我们可以回到第一步由 Taz 创建的 PageHarvest,并将我们的 mill 添加到其中。

namespace App\Harvest;

use Goldfinch\Harvest\Harvest;

class PagesHarvest extends Harvest
{
    public static function run(): void
    {
        \Page::mill(10)->make();
    }
}

4. 使用 harvest

现在我们的 harvest 已经准备好与 Taz 一起使用。通过执行我们的 harvest,我们应该在管理网站树中获得 10 个新创建的页面。

php taz harvest pages

推荐

此模块与 mill 工厂 goldfinch/mill 兼容良好

许可证

MIT 许可证 (MIT)