the42coders/workflows

此包允许您通过后端自动化您的Laravel应用程序。

安装次数: 1,812

依赖项: 0

建议者: 0

安全性: 0

星标: 253

关注者: 17

分支: 64

开放问题: 4

语言:JavaScript


README

Latest Version on Packagist Build Status Quality Score Total Downloads

Logo

工作流包为您的Laravel应用程序添加拖放工作流。工作流由触发器和任务组成。触发器负责启动工作流。任务是单个代码执行节点。该包附带一些实用的任务,但您也可以轻松编写自己的任务。

Screenshot

如果您对新闻和更新感兴趣

视频教程

Alt text

安装

您可以通过composer安装此包

composer require the42coders/workflows

您还需要将路由注册到您的web.php路由文件中。由于工作流包非常强大,请确保使用您在应用程序的其他部分使用的任何身份验证来保护这些路由。

Route::group(['middleware' => ['auth']], function () {
    \the42coders\Workflows\Workflows::routes();
});

您需要发布包的资产

php artisan vendor:publish --provider="the42coders\Workflows\WorkflowsServiceProvider"  --tag=assets  

其他可发布内容包括

配置

php artisan vendor:publish --provider="the42coders\Workflows\WorkflowsServiceProvider"  --tag=config  

语言

php artisan vendor:publish --provider="the42coders\Workflows\WorkflowsServiceProvider"  --tag=lang  

视图

php artisan vendor:publish --provider="the42coders\Workflows\WorkflowsServiceProvider"  --tag=views  

用法

工作流包在您的Laravel应用程序中开箱即用。只需访问路由/workflows即可开始。

工作流

工作流由触发器启动,然后按照您设置的顺序执行任务。为了在任务之间传递信息,我们使用了DataBus。

触发器

触发器是起点,定义了如何调用工作流。即将推出更多触发器。

ObserverTrigger

Observer触发器可以监听Eloquent模型事件,并将触发事件的模型传递给工作流。

要使其生效,请将WorkflowObservable添加到您的Eloquent模型中。

 use WorkflowObservable;

ButtonTrigger

Button触发器可以在您的“前端”中渲染按钮,并根据按钮的点击执行工作流。ButtonTrigger还可以接受一个模型并将其传递给工作流。

您可以通过向每个ButtonTrigger添加自己的类或样式来影响按钮。您还可以发布blade并根据需要更改它。

您有多种方式渲染ButtonTrigger。

按名称
 {!! the42coders\Workflows\Triggers\ButtonTrigger::renderButtonByName('name', $model) !!}
按工作流ID
 {!! the42coders\Workflows\Triggers\ButtonTrigger::renderButtonByWorkflowId(workflow_id, $model) !!}
按类别

这将返回该类别的所有触发器。

 {!! the42coders\Workflows\Triggers\ButtonTrigger::renderButtonsByCategory('categoryName', $model) !!}

任务

任务是在工作流中的单个代码执行节点。

SendSlackMessage

要发送Slack消息,您需要遵循以下3点。

  1. 您需要安装Slack通知Laravel Slack文档
  2. 您需要设置一个入站Slack Webhook Slack文档
  3. 将WebhookUrl设置到您的env文件中,使用WORKFLOW_SLACK_CHANNEL=您的SlackWebhookUrl

DataBus

DataBus是传递单个任务之间信息的一种方式。这使任务相互独立。

测试

composer test

变更日志

有关最近更改的更多信息,请参阅CHANGELOG

贡献

请参阅CONTRIBUTING获取详细信息。

安全性

如果您发现任何与安全相关的问题,请发送电子邮件至max@42coders.com,而不是使用问题跟踪器。

致谢

许可证

MIT许可证(MIT)。有关更多信息,请参阅许可证文件

Laravel包模板

本包是使用Laravel包模板生成的。