コンテンツアイコン

BboForm 2.0.0

かなり久々に配布してみます。気分で作った新しいFormAPIです。

コードの例については、後々要望があればREADMEに記載するつもりではありますが、現時点では簡易的なExamplePluginをGitHub上にpushしておいたのでご参照ください。

基本的にはオブジェクトを使ってFormを操作するようにしようとしています。
FormBase(pocketmine\form\Formを実装)の子クラスである3つのクラスにbbo51dog\bboform\element下のクラスを登録することでFormを作成し、FormBase::handleSubmit()Element::handleSubmit()をオーバーライドすることでボタン押下時の挙動を記述できます。作者としては、SimpleForm及びModalFormではButton::handleSubmit()CustomFormではCustomForm::handleSubmit()の使用頻度が高いと考えている為、それらについてはClosureをコンストラクタに持ったクラスも用意し、簡単なコードについては追加でクラスを作る必要が無くなっています。

ほぼ勢いで作ったようなものなのでおかしい点や改善点などございましたらお気軽に。

GitHub
  • Like
Reactions: Rark_Hopper
著者
bbo51dog
ダウンロード数
1,364
閲覧数
2,144
最初のリリース
最後の更新
評価
5.00 つ星 評価1

More resources from bbo51dog

最新のアップデート

  1. 2.0.0

    PM4
  2. 1.2.1

    バグ修正
  3. 1.2.0

    1.2.0 TODO: 執筆

最新のレビュー

Formを実装したクラスをいちいち作らずに実装でき、
シンプルフォームなどはボタンごとにハンドラを設定できるので、
フォームに関するコードがとてもすっきりします

ただ、modal、simpleフォームでnullが$dataに格納された場合に処理をしたいケースがあるので、実装していただけたら嬉しいです
bbo51dog
bbo51dog
今更ながらv1.2.0で対応しました