あざらし備忘録。

渋谷ではたらく音ゲー大好きウェッブエンジニアがいろいろ思った事やった事を書いていくブログです

簡単に状態遷移を管理できるStateMachineを公開しました[PHP][StateMachine][AASM][オートマトン]

StateMachineというPHP用のライブラリを公開しました!

github.com

ステートマシンとは?っていうところは以下のエントリをどうぞ。

shiro-goma.hatenablog.com

PHPで使えるコレ!っていうステートマシンがなかったので、トレイト+アノテーションという手法でステートマシンを作ってみました。

メリットは対象クラスとの距離が近いためステートマシンを用いたステータスの変更が対象クラスに即時反映されるところや、アノテーションによる記述のお陰で対象クラスで設定が完結するため非常にシンプルな作りになっているところかなと思います。

Doctrineを内部で用いていますがSymfony2でないと使えないライブラリではなく、素のPHPでも使えます!

構想としてはRubyのステートマシンの代表格であるAASMを大いに参考にしました。

とても便利なgemなのでぜひPHPでも使いたいなーと思って作った感じです。

詳しくはREADMEを御覧くださいませmm

初のライブラリ公開でしたが楽しかった!&引き続き機能作成していこっと。

実際に公開してみて、READMEやらタグやら英語やらなんやら色々と勉強になったので公開まで持って行って本当によかった。