raoul2000 / yii-simple-workflow
为 Yii 1 的简单工作流引擎
1.0.9
2015-05-21 17:33 UTC
Requires
- php: >=5.1.0
Requires (Dev)
- yiisoft/yii: 1.1.16
This package is not auto-updated.
Last update: 2024-09-18 07:47:13 UTC
README
simpleWorkflow 扩展是一组 Yii 组件,旨在为在流程中管理 CActiveRecord 对象的生命周期提供简单的方法。它提供控制活动记录在相关流程中行为的特性:转换任务、状态约束、事件模型。
注意,遵循 Yii 1.1 生命周期的 simpleWorklfow 扩展也已达到生命周期终点。请考虑使用与 Yii 2.x 兼容的 yii2-workflow 扩展。
资源
文档
要求
- Yii 1.1.4 或更高版本
安装
- 在
protected/extensions
下提取发布文件。 - 将 SWPhpWorkflowSource 组件添加到您的配置中
'components'=>array( // adding the simple Workflow source component 'swSource'=> array( 'class'=>'application.extensions.simpleWorkflow.SWPhpWorkflowSource', ), ...
- 将 simpleWorkflow 扩展基本文件夹添加到您的导入中
'import'=>array( ... 'application.extensions.simpleWorkflow.*', // Import simpleWorkflow extension ),
使用
一旦安装并正确配置,simpleWorkflow 扩展将处理任何模型的工作流。为了为特定模型启用 simpleWorkflow,您必须将 SWActiveRecordBehavior
行为附加到该模型。
class MyModel extends CActiveRecord { public function behaviors() { return array( 'swBehavior' => array( 'class' => 'application.extensions.simpleWorkflow.SWActiveRecordBehavior' ) ); } }
然后,该模型可以插入到工作流中,并在该工作流内部的状态之间演变。例如,下面的代码将现有记录插入到工作流中,或者如果已经完成,则显示其当前状态
$m=MyModel::model()->findByPk('1'); if( $m->swHasStatus() ){ echo 'status : '.$m->swGetStatus()->toString(); }else { $m->swInsertToWorkflow(); $m->save(); }
有关如何使用 simpleWorkflow 扩展的更多信息,请参阅 完整文档
Gii 命令
当需要多个节点和边时,手动创建工作流可能容易出错。一个好的选择是使用 可视化工具 创建工作流,经过一番搜索,似乎最好的应用程序之一是 yEd Graph Editor。当然,它是免费的!
想了解更多吗?阅读如何使用 GII 命令创建工作流...