thetwelvelabs/techne
Composer 安装命令:
composer require thetwelvelabs/techne
包简介
Finite State Machine implementation
README 文档
README
================================
A simple PHP implementation of a Finite-State Machine
Installation
Use Composer to install this library in your project
Create your composer.json file
{
"require": {
"thetwelvelabs/techne": "0.2.*@dev"
}
}
Download composer into your application root
$ curl -s http://getcomposer.org/installer | php
Install your dependencies
$ php composer.phar install
Usage
Let's use a light switch as a simple example.
A light switch as two states: on and off. The state of a light switch is
transitioned from one to the other by flipping the switch. We'll assume
that the initial state of the light switch is 'off'
Define your FSM
$machine = new StateMachine\FiniteStateMachine();
$machine->setInitialState('off');
Define the transitions
$turnOff = new StateMachine\Transition('on', 'off');
$turnOn = new StateMachine\Transition('off', 'on');
Add a guard to the turnOn transition
// flipping the switch on requires electricity
$hasElectricity = true;
$turnOn->before(function() use ($hasElectricity) {
return $hasElectricity ? true : false;
});
Define the events
$machine->addEvent('flip', array($turnOn, $turnOff));
Transition from off to on
$machine->flip();
echo $machine->getCurrentState();
// prints 'on'
Transition back to off
$machine->flip();
echo $machine->getCurrentState();
// prints 'off'
thetwelvelabs/techne 适用场景与选型建议
thetwelvelabs/techne 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 2.47k 次下载、GitHub Stars 达 41, 最近一次更新时间为 2012 年 11 月 17 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「fsm」 「finite-state machine」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 thetwelvelabs/techne 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 thetwelvelabs/techne 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 thetwelvelabs/techne 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Doctrine implementation of the MetaborStd (Statemachine) for PHP 8.2+
The SimpleTaskFSMBundle adds the ability to use FSM tasks runner in your application.
PHP Finite-state Machine
Finite state machine for php.
A state Machine library for business processes
State machines for Eloquent models with Enums
统计信息
- 总下载量: 2.47k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 41
- 点击次数: 39
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2012-11-17