待ちに待った完全レスポンシブ対応のEC-CUBE3 登場から1年経過しました。誕生直後に試した時は、情報もプラグインも少なく、採用を断念しましたが、最近では挑戦する環境が整ってきています。
一方で、インストールしてみたものの、2系の時とファイル構成が大幅に変わってしまっていて、「いったいどうなってしまったんだ?」と困惑されている方も多いのではないでしょうか? 実際、私もそうです。
そこで、今回は EC-CUBE3 を始める前のお勧めの勉強方法についてご紹介します。
目次
キーワードはシンフォニー
EC-CUBE サイトによれば、EC-CUBE3 には「PHPの多くのアプリケーションで実績のあるSymfony Component 2を開発の基板としたMicro-FrameworkのSilexを採用しました」と書いてあります。
Symfony とは、PHP上でフレームワークの一つです。フレームワークとは、プログラミングの際によく使う機能を使いやすいようにまとめたり、プログラミングに一定のルールを設けることでグループでのソフトウェア開発を効率化するための枠組みを指します。PHP の フレームワークは Symfony 以外にも多数ありますが、Symfony はもっとも多くの開発者から支持されているフレームワークです。
EC-CUBE3 を理解するためには、遠回りなようですが、まず、このSymfony を学ぶことが結局は近道になるのではないかと思います。
EC-CUBE3 は難しい?
ネットを見ていると、EC-CUBE3 は、EC-CUBE2 と比べて「難しい」とか、素人には扱えない、という感想が目立っているようです。確かに、表面的はシンプルに見えるのですが、内部は何やってるのか良く分からない複雑な感じがします。それは多分、フレームワークの上で動いているからで、フレームワークさえ理解すれば、そんなに恐れることはないのかもしれません。
Symfony をネットで検索すれば、説明するサイトは山のようにあるのですが、良い本があるので、まずはその本で勉強するのがお勧めです。
基本からしっかり学ぶ Symfony2入門 後藤 秀宣 (著), 金本 貴志 (著) 技術評論社
Symfony2 のインストールは XAMPP がお勧め
本を買ったら読むだけではなく、インストールして動かしてみることが大切ですが、インストールで結構つまづきました。
Symfony2 のインストールには、インストーラで自動でインストールする方法と、コンポーザーを使って、必要なものをバラバラに入れる方法があります。コンポーザーを使う方法は、必要なものが何なのかよく分からないので初心者には難しいです。でも、インストーラーを使う方法は、格安レンタルサーバーでは無理でした。エックスサーバーはルート権限がないのでダメ。さくらサーバーのスタンダードプランもダメでした。
Windows環境を使うのはちょっとイヤだったのですが、最終的には XAMPP を使うことにしました。XAMPP はWindowsパソコンに手軽にPHP + MySQL の環境が作れるディストリビューションです。こちらから簡単にインストールできます。
Symfony はバージョンに注意
次のつまづきポイントは、Symfony のバージョンです。「基本からしっかり学ぶ Symfony2入門」で紹介されている Symfny のバージョンは 2.7 ですが、Symfony の最新バージョンは Symfony3.1 となっており(2016.10.18 現在)、この本のとおりにインストールすると Symfony3.1 がインストールされてしまいます。3.1 でもいいや、と続けていくと、コンソールコマンドを実行するところがあるのですが、「$ php app/console」とやるとエラーになります。console コマンドは「bin」に変更されているらしく、「$ php bin/console」としないと動きません。それでも気にせず進めていったところ、第4章のメール送信のところでどうしても先に進めなくなってしまい、やむなくSymfony2.7 を入れなおしました。
インストールする時にバージョンを指定せず「Symfony」と入れると最新バージョンがインストールされ、「Symfony2.7」とバージョンを指定してやると旧バージョンがインストールされます。
Symfony の操作はシェルを使う
Symfony の操作にはSHELLも使いますので、SHELLコマンドもある程度使いこなせる必要があります。「ls」とか「cd」とかのコマンドです。この辺も使ったことがないと敷居が高く感じられるかもしれません。
長野県駒ヶ根市在住。ネットショップ構築とネットショップ運営サポートをしています。このサイトでは、ユーザーさん向けに役立つIT情報や、技術情報のメモを公開しています。詳しいプロフィール