PHP code example of uspdev / workflow
1. Go to this page and download the library: Download uspdev/workflow library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
uspdev / workflow example snippets
use Illuminate\Http\Request;
$workflowData = [
'name' => 'simples',
'description' => 'Fluxo de workflow simples',
'definition' => json_encode([
'type' => 'workflow',
'title' => 'Workflow simples',
'name' => 'simples',
'description' => 'Workflow simples de teste',
'places' => [
'inicio' => [
'description' => 'Formulário inicial',
'forms' => 'textarea'
],
'processamento1' => [
'description' => 'Etapa 1 do processo',
'forms' => 'textarea'
],
'fim' => [
'description' => 'Finalizado',
'forms' => 'textarea',
]
],
'initial_places' => 'inicio',
'transitions' => [
'tr_inicio_p1' => [
'label' => 'Enviar solicitação',
'from' => 'inicio',
'to' => 'processamento1'
],
'tr_p1_fim' => [
'label' => 'Finalizar',
'from' => 'processamento1',
'to' => 'fim'
]
],
]);
];
$request = new Request($workflowData);
Workflow::criarWorkflowDefinition($request);
$workflowDefinitionData = Workflow::obterDadosDaDefinicao($definitionName);
$definitionName = $workflowDefinitionData['definitionName'];
$imagePath = $workflowDefinitionData['path'];
$formattedJson = $workflowDefinitionData['formattedJson'];
public function update(Request $request)
{
# Outras validações do update...
# As validações do workflow já estão integradas na biblioteca
Workflow::atualizarWorkflow($request);
# Outras lógicas do update...
}
Workflow::deletarDefinicaodeWorkflow($definitionName);
$workflowDefinitions = Workflow::obterTodosWorkflowDefinitions();
$WorkflowObject = Workflow::criarWorkflowObject('pull_requests');
$workflowObjectData = Workflow::obterDadosDoObjeto($workflowObjectId);
$workflowObject = $workflowObjectData['workflowObject'];
$workflowDefinition = $workflowObjectData['workflowDefinition'];
$workflowsTransitions = $workflowObjectData['workflowsTransitions'];
$formHtml = $workflowObjectData['formHtml'];
$title = $workflowObjectData['title'];
$activities = $workflowObjectData['activities'];
$formSubmissions = $workflowObjectData['formSubmissions'];
$workflowsToDisplay = Workflow::listarWorkflowsdaDefinition($definitionName);
$workflowObjects = $workflowsToDisplay['workflows'];
$workflowTransitions = $workflowsToDisplay['workflowsTransitions'];
$workflowDefinition = $workflowsToDisplay['workflowDefinition'];
$workflowsToDisplay = Workflow::listarWorkflowsdoUser($id);
$workflowObjects = $workflowsToDisplay['workflows'];
$workflowData = $workflowsToDisplay['workflowData'];
Workflow::aplicarTransition($workflowObjectId, 'tr_opened_in_review');
Workflow::deletarWorkflow($workflowObjectId);
Workflow::enviarFormulario($request);
bash
php artisan vendor:publish --provider="Uspdev\Workflow\WorkflowServiceProvider" --tag=workflow-config
php artisan vendor:publish --provider="Uspdev\Workflow\WorkflowServiceProvider" --tag=workflow-migrations
php artisan vendor:publish --provider="Spatie\Activitylog\ActivitylogServiceProvider" --tag="activitylog-migrations"
php artisan vendor:publish --tag=forms-migrations
php artisan vendor:publish --tag=forms-config
bash
php artisan migrate
bash
php artisan workflow:sync
php artisan workflow:sync --path=meu/caminho/pro/diretório
php artisan workflow:sync --path=meu/caminho/pro/backup.json