EC-CUBE3.0 コードリーディング勉強会第1回目に行ってきました
2016/09/18
EC-CUBE3.0 コードリーディング勉強会第1回目に行ってきました。
ECサイト向けオープンソースソフトウェアのEC-CUBEのバージョン3が出て半年が経過してそろそろ本番環境での使用も始まりつつあることから、内部から機能を知るためとどれぐらいカスタマイズが出来そうかも知るために聞いてきました。
行ってみての感想は、「知っている人に教えてもらわなければ分からなかった。」です。
これはドキュメントだけ見てもすぐには分からないな、というものでした。
EC-CUBEを使う使わないは別として新しいPHPフレームワークの使い方を知るという事が重要と思いました。
目次
EC-CUBE3で使用しているフレームワーク
- Symfony2
-
Twig
Smartyとほぼ同じ -
Doctrine
Symfony2で使うORM(データベースのデータとPHPのクラスをマッピングして変換する技法) -
Silex
コマンド
|
1 2 |
php app/console router:debug |
パスとメソッドを確認出来る
コードリーディング
- src/Eccube/ControllerProvider/FrontControllerProvider.php
|
1 2 |
$c->match('/', '\Eccube\Controller\TopController::index')->bind('homepage'); |
第一引数のトップページが呼ばれた時に、
第二引数のTopControllerクラスのindexメソッドが呼ばれる。
bindではプログラム内での別名をhomepageにしている。
レンダリングされるtwigはResourceの下に格納されている
- default_frame.twig
|
1 2 3 4 |
<div id="main_middle"> {% block main %}{% endblock %} </div> |
- index.twig
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
{% extends 'default_frame.twig' %} {% block main %} <div class="row"> <div class="col-sm-12"> <div class="main_visual"> <div class="item"> <img src="{{ app.config.front_urlpath }}/img/top/mv01.jpg"> </div> <div class="item"> <img src="{{ app.config.front_urlpath }}/img/top/mv02.jpg"> </div> <div class="item"> <img src="{{ app.config.front_urlpath }}/img/top/mv03.jpg"> </div> </div> </div> </div> {% endblock %} |
|
1 2 3 4 5 |
// 受注マスター検索用フォーム $searchOrderForm = $app['form.factory'] ->createBuilder('admin_search_order') ->getForm(); |
Form/Type/Admin/SearchOrderType.phpが呼ばれる
画面上にFormを作るときはまずFormTypeを作成する
Controller側でFotmTypeを呼び出す
Twigへ渡す
Twigはレンダリング処理をする
|
1 2 3 4 5 6 7 8 9 |
$builder // 受注ID・購入者名・購入者(フリガナ)・購入者会社名 ->add('multi', 'text', array( 'label' => '受注ID・購入者名・購入者(フリガナ)・購入者会社名', 'required' => false, 'constraints' => array( new Assert\Length(array('max' => $config['stext_len'])), ), |
$builderにaddしていく。
第二引数がinput type
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
return $app->render('index.twig', array( 'searchOrderForm' => $searchOrderForm->createView(), 'searchProductForm' => $searchProductForm->createView(), 'searchCustomerForm' => $searchCustomerForm->createView(), 'Orders' => $Orders, 'OrderStatuses' => $OrderStatuses, 'salesThisMonth' => $salesThisMonth, 'salesToday' => $salesToday, 'salesYesterday' => $salesYesterday, 'countNonStockProducts' => $countNonStockProducts, 'countCustomers' => $countCustomers, )); |
twigへ渡している
|
1 2 |
{{ form_widget(searchOrderForm._token) }} |
twigはオブジェクトに対してはドットシンタクスで記述する
- {% twigの関数を呼び出す
- {{ echoのように変数をそのまま表示
注意
install.phpはインストール、バージョンアップ後削除する
※ログインしなくても使えるため
最後までお読みいただきましてありがとうございました!
「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。
「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。
「AWS認定資格試験テキスト AWS認定AIプラクティショナー」という本を書きました。
「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。
「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。
「AWSではじめるLinux入門ガイド」という本を書きました。
開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
関連記事
-
-
AWS Summit Tokyo 2017 聴講したセッションのメモ
2017年6月に参加しましたAWS Summitで聴講したセッションのメモを記し …
-
-
ヤマムギvol.5 「BI ファーストステップ ~re:dash , PowerBI , Google Data Studio , Wave~」を開催しました
僭越ながら主催運営していますヤマムギの第5回目勉強会「BI ファーストステップ …
-
-
Alexa Day 2018で「kokexaの話」を聞いてきました
スピーカーはサバワ坂本さん これは、私、山下の勝手な印象とか思い込みですが、坂本 …
-
-
再会の日 ~re:Union 2018 Osaka by JAWS-UG~
8/5は大阪でre:Unionでした。 「再会」と名うったこのイベントは、6月に …
-
-
IoTセミナー in おおさか「IoTで変わる!企業と働き方」に行ってきました
これからの企業と働き方 ~IoT・AIが創造する未来~ さくらインターネット株式 …
-
-
Alexa Day 2018で「Alexa はどこにでも。AVSが開くAlexa Enabled なライフスタイル」を聞きました
photo by 金春さん スピーカーはオランダから一時帰国中の伊東のともさん …
-
-
「機械学習・データサイエンス基礎講座(1)」に参加しました
異業種データサイエンス研究会を主宰されている井伊さんが開催される連続の基礎講座の …
-
-
Developers Summit 2024「技術を超えた成長へ:エンジニアとしてのマインドセットと学びの旅」を見ました
NECソリューションイノベータ株式会社 田中 拓摩さん SAP基幹システムのAW …
-
-
「JosysBar」に参加して発表してきました
JosysBar 2024/5/22に開催されましたJosysBarへ行ってきま …
-
-
Developers Summit 2024「技術的負債との戦い! PR TIMESエンジニアチームのオブザーバビリティ改善ジャーニー」を見ました
New Relic株式会社 テクニカルアカウントマネージャ 小林 良太郎さん 株 …
