Hatena::ブログ(Diary)

EC-CUBEのカスタマイズならクロスキューブ!サイト制作メモ このページをアンテナに追加 RSSフィード Twitter

2015-07-28

xross-cube2015-07-28

ロックオン主催のEC-CUBE3の東京勉強会に参加してきました

毎度ご無沙汰しております。株式会社クロスキューブの佐々木です。

先日、EC-CUBE開発元の株式会社ロックオン東京オフィスでEC-CUBE3の勉強会が開催されたので、弊社デザイナー田原と共に参加してきました。

EC-CUBE3東京勉強会風景


先日リリースされたEC-CUBEの新バージョン、EC-CUBE3は、ぱっと見はあまり変わっていませんが裏は大きく変わっています。

PHPフレームワークとしてSilex採用し、PSRのいくつかに準拠した構造となっています。

DB周りはPEAR::DB2からPDOを使うDoctrineに、テンプレートエンジンSmartyからTwigに変わり、多くのSymfonyコンポーネントを利用し、車輪の再発明を極力少なくしました。

Doctrine採用した事により、アプリケーションが吐くSQLも2系よりも素直なものになり、MySQLでのパフォーマンスもだいぶ改善されています。

弊社、株式会社クロスキューブでも、極々微力ですがEC-CUBE3の開発にご協力させて頂きました。*1

今回の勉強会では、中身が大きく変わったEC-CUBE3の現状について、ロックオン足立さんとEC-CUBE責任者の金さんがお話しをされました。

EC-CUBE3のテンプレートファイルはどこいったの?

EC-CUBE2系では、テンプレートファイル

/data/Smarty/templates

にありましたが、EC-CUBE3では

/ec-cube/src/Eccube/Resource/template

にあります。

テンプレートエンジンSmartyからTwigに変わってるので、注意してください。

文法や細かいところは変わりましたが、大きく変わったのは、

<!--{$hoge}-->

が、

{{ hoge }}

<!--{if $hoge}-->

{% if hoge %}

の様に、囲み文字が変わった点ですw

また、2系では、PC用、スマホ用、ガラケー用にそれぞれテンプレートを作成しないといけませんでしたが、EC-CUBE3ではガラケーのサポートは切られ、スマホレスポンシブで対応となったので、フロントテーマファイルは1つで済みます。


オリジナルテーマを作りたい方は、デフォルトテーマを参考に作成されてみてはいかがでしょうか?

テーマ作ってみた方の記事もあります。

EC-CUBE3 用のプレーンな Bootstrap テンプレートをつくってる過程で分かったことなど - Qiita

EC-CUBE3はもう実戦投入して良いレベル?

さて、僕が一番気になったのがこの点です。過去バージョンの状況を見ると、EC-CUBE3も、バージョン3.1.3くらいで安定して使える様になるかなぁ?と思っていたので、現状を聞いてみました。

すると、既に株式会社ロックオンではEC-CUBE3を実案件に利用中との事で、もう大丈夫そうです。

とは言え初めての事バージョンだし、何かしら困ったりバグにハマったりしてんじゃないかな?と思って聞いてみたら、

Symfonyコンポーネントの使い方やPSRの方への対応が慣れていないので、そっち覚える方が大変だった」

との事でした。

やはり、レガシーPHPコードしか書けない人は置いてかれそうです。

しかし、EC-CUBE3は最初からテストありきで開発されていたので、2系に比べればテストが楽になっており、開発もだいぶ安心してできそうです。

セキュリティ大丈夫なの?

EC-CUBE過去にちょいちょい脆弱性が出ています。

クライアント企業の方もここを一番心配されるので、EC-CUBE3ではセキュリティテストは行ったのか?外部のセキュリティチェックは入れたのか?を聞きました。

チェックツール確認済み

ロックオンさん社内ではアプリセキュリティチェックツールを使ってテストしている様なので、とりあえずは大丈夫そうです。

でも、ツールが検出できない脆弱性もあるので、完全に安心しきってはダメですね。ちゃんと自分確認しましょう。

また、とあるセキュリティ会社の高名な方が開発コミュニティにいるらしく、その方が個人的に色々チェックしたりしてくれてるそうです。

これは心強いですね。

勉強会中に試そうとしてMySQLを使おうとしたらインストールコケ

勉強会中に、MySQLインストールしようとしたらコケました。PDOのMySQLドライバーのsocket周りの設定のアレです。*2

EC-CUBE3でMySQL使ってPDOのSQLSTATE[HY000] [2002]でエラーでインストールできない時 - Qiita

毎回忘れるので、メモっておきました。

具体的には、PDOの初期設定のMySQLのsocketのパスと実際のMySQLのsocketのパスが違っており、IPとかでMySQLサーバアドレスを設定しても、間違ったパスのsocketでDB接続しよとして接続できなくてエラーというヤツです。

後でインストーラとか直しておきます。

あと、現時点で同梱されているeccube_install.shにはMySQLインストールする際のバグがありますので、環境によってはこれ使ってコマンドラインインストールできません。

MySQLrootユーザパスワード必要で、MySQLユーザ名とかを指定しても強制的root接続しようとしてコケます。

その他インストールコケたら下記を参照するか開発コミュニティまで。

EC-CUBE3のインストールでこけたら見る記事 - Qiita

EC-CUBE3の機能カスタマイズ方法は?

基本的にEC-CUBE3では2系の様なカスタマイズではなく、全てをプラグインとして実装する設計です。

ちゃんとプラグインとして実装すれば、バージョンアップの際の手間が大幅に減ります。

プラグイン実装方法は次回にでも詳しく書きますが、とりあえず開発元のロックオン高橋さんが書いたQutiaの記事があります。

EC-CUBE3プラグイン機構 - Qiita

[Done]EC-CUBE3のプラグインを2日でつくる - 1日目 - Qiita

[Done]EC-CUBE3のプラグインを2日でつくる - 2日目 - Qiita

こちらを参考に始めてみるのが良いと思います。

EC-CUBE3の決済モジュールは?

既に、GMO-PGさんで作られたそうです。

もうすぐEC-CUBE3向けオーナーズストアがオープンする(2015年9月予定)ので、その時にはいくつか揃っているのではないでしょうか?*3

弊社、株式会社クロスキューブにもEC-CUBE3対応決済モジュールのお問合せが来ていますね。

何はともあれEC-CUBE3を使ってみよう!

使ってみましょう。

使わないと細かいところはわかりませんし、使われる事によってプロダクトの品質は向上していきます。

早く使えば早く知見を得られる事になり、競合他社に対してリードを持てます。

今はすぐ使えませんが、多言語版作るのが楽とか、API実装するのが楽とか、ポテンシャル結構なものです。

EC-CUBE3では正式リリース版以外に、Weekly Buildというものがあり、毎週最新のコードのパッケージがダウンロードできます。

バグ修正もいち早く入っているので、興味がある方は使ってみてください。

EC-CUBEダウンロード / ECサイト構築・リニューアルは「ECオープンプラットフォームEC-CUBE」

弊社、株式会社クロスキューブでも今後はEC-CUBE3をメインに使っているつもりです。

新しいEC-CUBEネットショップ作ってみたい方は、ぜひお問合せください。

*1:実はアプリ構造concrete5と非常に近くなったんですよ

*2:何か毎度これにひっかかってる...

*3:EC-CUBE3の決済モジュール実装に関するドキュメントロックオンさんが決済代行会社に販売しているらしいんですが、それが結構なお値段するらしく、評判がよろしくない...でも、しょうがないんですよ、EC-CUBE無料で使えるから、そういうとこでしかお金稼げないんですよ...きっとちゃんと元取れるから決済代行会社の皆さん、気持ちよく払ってくださいな...

投稿したコメントは管理者が承認するまで公開されません。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/xross-cube/20150728/p1
リンク元