goldfinch / harvest
Harvest 是一个种子组件,可以帮助您打包由 Taz 运行的自动化任务。
v2.0.2
2024-05-14 01:39 UTC
Requires
- php: >=8.0
- goldfinch/cli-supplier: ^2.0
- goldfinch/taz: ^2.0
- silverstripe/admin: ^2.0
- silverstripe/framework: ^5.0
README
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)