Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

EC-CUBEはなぜSymfonyを選んだのか

More than 1 year has passed since last update.

EC-CUBEはなぜSymfonyを選んだのか

by chihiro-adachi
1 / 17

Symfony Meetup Kansai #1


自己紹介

  • 足立智広@株式会社イーシーキューブ勤務
  • EC-CUBEエバンジェリスト
  • EC-CUBEの2/3/4の開発してきました
  • ふだんは定時退社で子どものお迎えしてます
  • twitter: @chihiro_adachi

EC-CUBEのバージョン

  • EC-CUBE 2.13.x
  • EC-CUBE 3.0.x(Silex)
  • EC-CUBE 4.0.x(Symfony)

EC-CUBE3の話をします

  • PHPカンファレンス2015東京

2017年10月ごろ

  • EC-CUBE「3.1」の開発が始まる
  • EC-CUBE3.0でカスタマイズしづらかったところ、難しかったところを中心に改善
  • もともとは互換性をある程度保持して、改善で留める予定でした

Silex EOL問題


12月〜2月くらいでSymfonyへの移植


Symfonyは3.4.xを採用

  • 当時のLTSだった
  • 4のLTSはまだ4.0が開発中だったこともあって見送り

Laravelはどう?という声もあった

  • 3.0でユーザさんにだいぶ負荷をかけた
    • 学習コスト面、既存の知識が使えなくなる等
    • できるだけ近しいフレームワークを選択したかった

SilexからSymfonyへの移行の仕方

  • Hello Worldから始める
  • プラグインの機構づくりも必要だったので、コンテナのコードリーディングやBundleの作成方法も
  • Silexからの移行方法はこちらにまとめました

コンテナのコンパイルの流れ

ちょっとマニアックな資料もあります

image.png


Symfonyのよいところ

  • 後方互換性の担保
  • composer updateを定期的にしているがほぼ問題になることがない
  • (たまにEC-CUBEのTravis-CIが落ちるときもある)
  • 安心して使える、計画できる

Symfonyのよいところ

  • EC-CUBEのプラグインの機構はほぼSymfonyの拡張に乗っかって作っている
  • Event/WorkFlow/Auto Configure/Autowiringなどなど
  • 3.1のプロトタイプ開発時は、結構独自実装しようとしていた

Symfonyのよいところ

  • Silex版のEC-CUBEと比較して、標準状態のパフォーマンスが倍に
  • 正確には、Silexでは細かいチューニングが必要だったのが、Symfonyではprodモードに切り替えるだけで設定できるようになった

Symfonyで苦労したところ


ありがとうございました

  • EC-CUBEを通じて、もっともっとSymfonyに触れてくれる人を増やしていきたい
  • みんなで普及していきましょう!
chihiro-adachi
EC-CUBEの開発をしています ※Qiitaへ投稿した記事はすべて私個人としての発言です。
https://github.com/EC-CUBE/ec-cube
ec-cube
日本No.1ECオープンソースのEC-CUBEのコミッターやユーザーのコミュニティです。
https://www.ec-cube.net
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away