Download the PHP package jeyroik/extas-workflow-example without Composer
On this page you can find all versions of the php package jeyroik/extas-workflow-example. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Table of contents
Download jeyroik/extas-workflow-example
More information about jeyroik/extas-workflow-example
Files in jeyroik/extas-workflow-example
Download jeyroik/extas-workflow-example
More information about jeyroik/extas-workflow-example
Files in jeyroik/extas-workflow-example
Vendor jeyroik
Package extas-workflow-example
Short Description Example of usage workflow package for Extas
License
Package extas-workflow-example
Short Description Example of usage workflow package for Extas
License
Please rate this library. Is it a good library?
Informations about the package extas-workflow-example
extas-workflow-example
Пример использования пакета jeyroik/extas-workflow
установка workflow
# vednor/bin/extas i
запуск
extas-workflow-example# php -S localhost:8080 -t src/public
После этого на страничке http://localhost:8080
вы должны увидеть следующее:
Объяснение
- В рамках примера устанавливается 4 состояния:
todo
,in_work
,done
,not_actual
. - Для этих состояний устанавливаются следующие переходы:
get_in_work
,done
,not_actual
. - Также устаналивается несколько шаблонов для обработки переходов.
trigger__hello_world
- после перехода выводит сообщение "Hello world" на языке, установленным в контексте.trigger__transition_finished
- вывод сообщение, что сущность переведена в состояние с указанием названия нового состояния.validator__hello_jeyroik
- проверяет наличие в контексте параметраname
и его равенство строкеjeyroik
.validator__context_params
- проверяет наличие в контексте параметров, указанных в обработчике.validator__entity_params
- проверяет наличие в сущности, меняющей состояние, параметров, указанных в обработчике.
- Кроме этого устанавливается схема, содержащая все указанные ранее состояния и переходы.
- Для установленной схемы workflow сразу устанавливаются и конкретные триггеры и валидаторы.
Описание задачи, которую решает пример
- Имеется сущность
DemoEntity
в состоянииtodo
. - Необходимо прогнать данную сущность по всем переходам схемы.
- Требуется вывести на русском языке фразу "Привет мир".
- Требуется после каждой смены состояния вывести соответствующее сообщение.
- Требуется гаранитровать, что в переходы осуществляются с именем 'jeyroik'.
- Требуется гарантировать, что в контексте после перевода сущности в состояние done будет параметр
success
, равныйtrue
. - Требуется гарантировать, что в сущности после перевода сущности в состояние done будет параметр
operated
, равныйtrue
.
Решение задачи
-
Для того, чтобы решить поставленную задачу, в контекст помещаем следующие данные:
- Далее, для всех переходов устанавливаем триггер по шаблону
trigger__transition_finished
. - Кроме этого, на переход в статус
done
вешаем валидаторы по параметрам контекста и сущности по шаблонамvalidator__context_params
иvalidator__entity_params
соответственно. - Для удовлетворения требования по поводу
success
иoperated
создадим плагин, который будет реагировать на перевод в состояниеdone
.- Для этого плагин должен реагировать на стадию
workflow.to.done
.
- Для этого плагин должен реагировать на стадию
Всё вместе решает поставленную задачу, удовлетворяя всем требованиям.
All versions of extas-workflow-example with dependencies
PHP Build Version
Package Version
Requires
jeyroik/extas-workflow Version
1.*
The package jeyroik/extas-workflow-example contains the following files
Loading the files please wait ....