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はインストール、バージョンアップ後削除する
※ログインしなくても使えるため
最後までお読みいただきましてありがとうございました!
【PR】 「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。
【PR】 「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第2版」という本を書きました。
【PR】 「ポケットスタディ AWS認定 デベロッパーアソシエイト」という本を書きました。
【PR】 「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。
【PR】 「AWSではじめるLinux入門ガイド」という本を書きました。

開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
ad
ad
関連記事
-
-
交通情報系スキルを事例に見る日常生活に溶け込むスキルのテクニック(Alexa Day 2019でのブログ)
以下は、気になったことのメモとか感想を書いています。 登壇者、発表者、主催企業な …
-
-
「AWS認定 デベロッパーアソシエイトの試験に出るかもなデモ見せあいっこ(ヤマムギvol.12)」を開催しました
デモ勉強会を開催しました! 2021/4/7にヤマムギ12回目の勉強会「AWS認 …
-
-
Twilio エバチャンネル ONLINE vol.6でゲストトークしました
Twilio エバチャンネル ONLINEにゲストトークで呼んでいただきました〜 …
-
-
「機械学習・データサイエンス基礎講座(1)」に参加しました
異業種データサイエンス研究会を主宰されている井伊さんが開催される連続の基礎講座の …
-
-
JAWS FESTA 2017 Reverse X re:Birth
JAWS FESTA 2017 中四国 今年はブログタイトル「JAWS FEST …
-
-
JAWS-UG 関西IoT専門支部「マクニカkibo + AWS IoTハンズオン」に行ってきました、というか運営メンバーとして参加してきました
2015/12/19(土)はJAWS-UG 関西IoT専門支部の記念すべき1回目 …
-
-
「X-Tech JAWS 【第2回】~9割のX-Techと1割の優しさで切り拓く未来~」に行ってきました
「X-Tech JAWS 【第2回】~9割のX-Techと1割の優しさで切り拓く …
-
-
JAWS DAYS 2018で初めてのランチタイムセッションをやってみました
日本のAWSユーザーグループはJAWS-UGと言います。 JAWS-UGでは年に …
-
-
「JAWS-UG千葉支部オンライン#9 AWS re:Invent 2020 re:Cap&LT大会」に参加しました
今日は千葉支部におじゃましました。 re:Invent2020振り返り 〜はじめ …
-
-
Java SE 7 Silver対策勉強をしながらメモ 2015/1/29
さて本日は少しだけですが、試験対策のメモをいつものごとくマークダウンで記載したの …