BcContentsHelperについて検討
https://github.com/baserproject/ucmitz/blob/dev/plugins/baser-core/src/View/Helper/BcContentsHelper.php
- フロント用の関数と管理画面用の関数が混在している
- フロント用: nextLink、pvevLinkなど
- 管理画面用: isActionAvailable、isEditableなど
- フロント用の関数はBcBaserHelper経由でも呼び出せるようにとの話なので対応方法を検討
フロント用の関数はBcBaserHelper経由でも呼び出せるようにとの話なので対応方法を検討
こちらに関しては、BlogBaserHelper と BlogHelper の関係のように次の構成でできたらと思います。 https://miro.com/app/board/uXjVOr6f8uM=/?share_link_id=818933006789
ただ、現在は、プラグインしかマジックメソッドで呼び出せないので、コア側はヘルパの登録の仕組みが必要となりそうです。
@seto1
@ryuring 分かりやすい図をありがとうございます。
透過的に呼び出すためのクラスも分かりやすいと思うのですが、設定ファイルに紐付け設定を記載するのも記述量とファイル数が減るのですがいかがでしょう。
サンプル: https://github.com/seto1/ucmitz/commit/4bda367900eec69a6b6371c9f09f07c4152e17ee
@seto1 これは面白い実装ですね。 設定ファイルのキー名が散らからないようちょっと考えたいところですね。
BcHelper.callFunction.BcBaserHelper ?
そういえば、bc_form.php もあるな。これは、Cakeの仕組みでヘルパのオプション指定で読み出してる感じですね。
BcAdminAppView に定義があります。
設定ファイル名変更 & loadHelperでの設定読み込み対応版はこちらです。 https://github.com/seto1/ucmitz/commit/2117ccd4742a79f40d5e3a66785433752570776a
透過的呼び出しの対応がBcBaserHelper以外で必要になってくるかによって、設定値の形式や渡し方は要検討ですね。 BcBaserHelper以外での対応が必要になってくるのであれば、基底クラス (BcHelper?)が必要になってくるかと思います。