Symfonyコンポーネントで生まれ変わるEC-CUBE

361 Views

November 10, 22

スライド概要

2015/05/30@PHPカンファレンス関西2015での登壇資料です。

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

2015/05/30 @PHPカンファレンス関西 株式会社ロックオン 高橋 慎一

2.

もくじ ● 自己紹介 ● EC-CUBE3が目指すもの ● 生まれ変わるEC-CUBE3

3.

もくじ ● 自己紹介 ● EC-CUBE3が目指すもの ● 生まれ変わるEC-CUBE3

4.

あんただれ? ● 高橋 慎一 / たかぴー / 26歳 / ♂ Twitter: @takapyyy GitHub:@shinichi-takahashi ● 所属:株式会社ロックオン / EC-CUBE事業部 ● PHPカンファレンス関西2015実行委員長 ● 関西フロントエンドUG立ち上げの一人 ● カノジョがほしい

5.

もくじ ● 自己紹介 ● EC-CUBE3が目指すもの ● 生まれ変わるEC-CUBE3

6.

プラグイン競合 の 解 決

7.

EC-CUBE2.12系から導入されたプラグイン機構。 集客・物流などのサービス連携や各種機能カスタマ イズについて、個別に開発することなく、EC-CUBE にインストールするだけで、簡単に機能を追加でき る仕組みのことだ。自社サービスとの繋ぎ込みプラ グインや、EC-CUBE本体のカスタマイズプラグイン などあらゆる機能をプラグインとして提供することが 可能になるなど、夢が広がった。しかし、そこには開 発当初では気づく(築くとかけてる)ことができないい くつも課題があった。EC-CUBEは、かつてデザイン テンプレートというプラガブルな機構を採用し、モー ルでもASPでもできなかった、もっと言えば、スクラッ チ以外の道がない「デザインの自由度」を切り拓くこ とに成功した。プラグインは複数組み合わせていれ ることが多々あり、プラグイン機構自体が、競合の検 知・解決に対して強くなく、プラグイン依存関係につ いて話題にあがることも多い。ECにはもちろん決済 というお金に関わる機能があるため、より安心してつ かえなければならない。

8.

EC-CUBE2.12系から導入されたプラグイン機構。 集客・物流などのサービス連携や各種機能カスタマ イズについて、個別に開発することなく、EC-CUBE にインストールするだけで、簡単に機能を追加でき る仕組みのことだ。自社サービスとの繋ぎ込みプラ グインや、EC-CUBE本体のカスタマイズプラグイン などあらゆる機能をプラグインとして提供することが 可能になるなど、夢が広がった。しかし、そこには開 発当初では気づく(築くとかけてる)ことができないい くつも課題があった。EC-CUBEは、かつてデザイン テンプレートというプラガブルな機構を採用し、モー ルでもASPでもできなかった、もっと言えば、スクラッ チ以外の道がない「デザインの自由度」を切り拓くこ とに成功した。プラグインは複数組み合わせていれ ることが多々あり、プラグイン機構自体が、競合の検 知・解決に対して強くなく、プラグイン依存関係につ いて話題にあがることも多い。ECにはもちろん決済 というお金に関わる機能があるため、より安心してつ かえなければならない。 割 愛

9.

もくじ ● 自己紹介 ● EC-CUBE3が目指すもの ● 生まれ変わるEC-CUBE3

10.

生まれ変わるEC-CUBE ● Silex ● GitHub ● WebDesign

11.

生まれ変わるEC-CUBE ● Silex ● GitHub ● WebDesign

12.

Silex - base

13.

Silex - directory structure # before /data /class /Customer /Product ... /class_extends /Smarty /smarty_extends /module(Pear) app_initial.php # after /src/Eccube /Controller /Entity /Form/Type /Repository /Resource /Service Application.php /vendor(SymfonyComponents)

14.

Silex - file name # before SC_Init.php SC_Query.php LC_Page_Admin_Product.php # column / ● GC / gf ● SC / sf ● LC / lf # after Application.php ProductRepository.php ProductController.php Coding Style in Lockon : Global Class / function : Site Class / function : Local Class / function

15.

Silex - others ● PSR-2 / PSR-4 ● Composer ● DoctrineORM ● Twig ● Plugin ○ Form¥Events ○ Middleware ( before / after )

16.

Silex - others ● PSR-2 / PSR-4 ● Composer ● DoctrineORM ● Twig <- 独自 <- 内包してた <- Pear::MDB2 <- Smarty ● Plugin <- 独自 ○ Form¥Events ○ Middleware ( before / after )

17.

生まれ変わるEC-CUBE ● Silex ● GitHub ● WebDesign

18.

GitHub

19.

GitHub - revert

20.

GitHub - revert

21.

GitHub - revert

22.

GitHub - revert

23.

GitHub - CI オンプレでTracを運用 アカウント発行が大変 SVNの変更を通知 リバートの連続 メーリングリスト ML登録を手動で 結果を通知 オンプレでJenkinsを構築・運用 コミッターがなれない

24.

GitHub - CI 開発の中心 PR運用 やってみた系 規約・仕様のたたき台 コアメンバーの議論 GitHubの通知受け取り カバレッジ コード品質 Windows Server PHP5.3 - 5.5 PostgreSQL/MySQL

25.

生まれ変わるEC-CUBE ● Silex ● GitHub ● WebDesign

26.

WebDesign - Bootstrap

27.

WebDesign - Bootstrap #before

28.

WebDesign - Bootstrap #after

29.

WebDesign - menu # before ● 基本情報管理 ● 商品管理 ● 会員管理 ● 受注管理 ● 売上集計 ● メルマガ管理 ● コンテンツ管理 ● デザイン管理 ● システム設定 ● オーナーズストア # after ● ホーム ● 商品管理 ● 受注管理 ● 売上管理 ● 会員管理 ● コンテンツ管理 ● 設定 ショップオーナーにとって使いやすい ように!

30.

WebDesign - cart flow #before 1. カゴの中 2. お届け先 3. 支払方法・ポイント設定 4. 確認 5. 注文完了 #after 1. カゴの中 2. 確認 ( お届け先 / 支払方法 / ポイント設定 ) 3. 注文完了 #column 2系では、カード決済導入することで購入完了まで 最大 7STEP かかっていた

31.

Milestone Beta2 : 2015/06/02 RC : 2015/06/12 Product : 2015/06/XX

32.

さいごに SymfonyComponentで 進化するEC-CUBE みなさんのPull Requestを お待ちしております!