davin-bao / workflow
这是一个为laravel5设计的流程包
dev-master
2016-08-19 06:25 UTC
Requires
- php: >=5.3.0
- illuminate/support: 5.1.*
- laravelbook/ardent: dev-master
This package is auto-updated.
Last update: 2024-09-21 20:28:14 UTC
README
感谢tao2581,如果您需要将其用于laravel 4,请添加
"davin-bao/workflow": "v1.0"
Workflow包提供了一种简单的方法将审计流程添加到Laravel5
。
快速开始
所需配置
在composer.json
文件的require
键中添加以下内容:
"davin-bao/workflow": "dev-master"
运行Composer更新命令
$ composer update
在您的config/app.php
中,将'DavinBao\Workflow\WorkflowServiceProvider'
添加到$providers
数组的末尾
'providers' => array( 'Illuminate\Foundation\Providers\ArtisanServiceProvider', 'Illuminate\Auth\AuthServiceProvider', ... 'DavinBao\Workflow\WorkflowServiceProvider', ),
在config/app.php
的末尾,将'Workflow' => 'DavinBao\Workflow\WorkflowFacade'
添加到$aliases
数组中
'aliases' => array( 'App' => 'Illuminate\Support\Facades\App', 'Artisan' => 'Illuminate\Support\Facades\Artisan', ... 'Workflow' => 'DavinBao\Workflow\WorkflowFacade', ),
配置
创建表
现在生成Workflow迁移
$ php artisan workflow:migration
它将生成<timestamp>_workflow_setup_tables.php
迁移。您现在可以运行它使用Artisan迁移命令:打开<timestamp>_workflow_setup_tables.php
,将"{{ '<?php' }}"更改为" <?php ",然后运行 $ php artisan migrate
迁移后,将存在工作流表。
创建控制器
$ php artisan workflow:controllers
创建路由
$ php artisan workflow:routes
链接模型
class Entry extends Eloquent { use \DavinBao\Workflow\HasFlowForResource; }
添加两个审计日志功能,审计流程将记录此资源的标题和内容
public function getLogTitle() { return $this->entry_title; } public function getLogContent() { return $this->entry_content; }
链接控制器
class AdminEntryController extends AdminController { use \DavinBao\Workflow\HasFlowForResourceController; }
为该控制器添加角色
Route::get('entrys/{entry}/binding', 'AdminEntrysController@getBindingFlow'); Route::post('entrys/{entry}/binding', 'AdminEntrysController@postBindingFlow'); Route::get('entrys/{entry}/audit', 'AdminEntrysController@getAudit'); Route::post('entrys/{entry}/audit', 'AdminEntrysController@postAudit');
修改配置
将属性值设置到config/auth.php
和davin-bao/workflow/src/config/config.php
中。
函数
获取是否绑定审计流程
if(isset($entry->isBinding)) {///is binding, do something }
获取资源审计状态
$entry->status()
显示流程图,显示此资源审计流程状态
@if(isset($entry->isBinding))
{{ Workflow::makeFlowGraph($entry->flow(), $entry->orderID()) }}
@endif
显示审计流程所有详情
@if(isset($entry->isBinding))
{{ Workflow::makeAuditDetail($entry) }}
@endif
需要审计,显示审计按钮
if(isset($entry->isBinding) && $entry->isMeAudit()) { /// show audit button }