Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

機能カスタマイズ性の向上に向けた機構改善 #1984

Closed
Yangsin opened this issue Dec 15, 2016 · 5 comments
Closed

機能カスタマイズ性の向上に向けた機構改善 #1984

Yangsin opened this issue Dec 15, 2016 · 5 comments

Comments

@Yangsin
Copy link

Yangsin commented Dec 15, 2016

3.1に向けて、3.0でプラグイン開発、本体カスタマイズ共に更に開発をしやすいように機構の改善を行っていきたいと思っています。
どの程度の規模の改修が必要になるかは、検討が必要ですが以下のような、大きく2つの変更を検討しています。

1. デザインパターンを適用したカスタマイズ性の向上

  • イメージ
    • 購入処理などユースケースに合わせた処理の流れをきちんと定義しデザインパターンを適用しサービス化の強化
    • Strategy Pattern で処理を置き換える事を可能にする

2. ECのためのFrameworkとしての構造の強化

  • イメージ
    • デザインパターンの適応だけではむずかしいような内容について対応
    • 決められた流れを大きくかえるようなパターン(DLに商品、会員限定購入サイトなど)
    • カスタマイズの敷居を下げるようなしくみ
      • WordpressのFunction.php のようにライトなイメージ

参考

#694 #83

ユースケースのリストアップおよび分類

https://drive.google.com/open?id=1aT_nZKY6YEH8bi0cbUxaFoTTc9zU0_qfBfl8aN-HYyU

@nanasess
Copy link
Contributor

#1985 で Pull Request してます

@nanasess
Copy link
Contributor

nanasess commented Dec 28, 2016

独自のアノテーションではなく、 SensioFrameworkExtraBundle のアノテーションを使えるようにしてみました。

https://github.com/nanasess/ec-cube/blob/ab655faab1809f66d45227dd1759266b3bfcb3a0/app/Eccube/Controller/TestController.php

@Yangsin Yangsin added this to the 3.1.0 milestone Jan 4, 2017
@nanasess
Copy link
Contributor

nanasess commented Jan 5, 2017

実現したいこと。目標としては、 app/Eccube/Controller 以下に、簡潔に記述可能な、カスタマイズ用のコントローラを置くことで、簡単に振舞いを変更できるようにしたい。

  • ビジネスロジックに Strategy や、 Adapter パターンを適用し、簡潔にカスタマイズできるようにしたい
  • SensioFrameworkExtraBundle アノテーションの利用
  • Doctrine アノテーションの利用
    - Yaml との共存が難しそう
    - SensioFrameworkExtraBundle アノテーションとの共存が難しそう ParamConverter を使用しない場合は問題なさげ
  • SubRequest(forward) を使用して Controller をチェーンのようにつなげられるようにしたい

@nanasess
Copy link
Contributor

継承を使用せずに、コントローラの一部をオーバーライドできるようになりました。
nanasess@e4278ce

forwardChain で、 Controller をチェーンのようにつなげることも可能です。

@chihiro-adachi
Copy link
Contributor

chihiro-adachi commented Oct 10, 2018

4.0で反映された機構は以下にまとめています。
http://doc4.ec-cube.net/#%E6%9C%AC%E4%BD%93%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%9E%E3%82%A4%E3%82%BA

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants