【EC-CUBE4】メモ

スポンサーリンク
スポンサーリンク

バージョン:EC-CUBE4.0

初めて触れるものは、わからない事だらけですね。

何度も探すのはナンセンスなので、メモしておきます。

書籍も買いました!

読んだ感想としては、EC-CUBEってものの6割ぐらいはわかるんじゃないかな٩(•̤̀ᵕ•̤́๑)

EC-CUBE 4 システム構築入門&店舗運営・管理ビギナーズガイド | 西村 誠 |本 | 通販 | Amazon
Amazonで西村 誠のEC-CUBE 4 システム構築入門&店舗運営・管理ビギナーズガイド。アマゾンならポイント還元本が多数。西村 誠作品ほか、お急ぎ便対象商品は当日お届けも可能。またEC-CUBE 4 システム構築入門&店舗運営・管理ビギナーズガイドもアマゾン配送商品なら通常配送無料。

EC-CUBE4の設定関連はこちらにまとめています↓↓↓

スポンサーリンク

デフォルト設定

envファイル見れば良いのですが、一応記載

管理画面URL

http://プロジェクト名/admin
ログインID:admin
パスワード:password

SQL初期設定

mysql, postgresql
ユーザー名:dbuser
パスワード:secret
データベース名:eccubedb

クラス構成

Controller:ルーティング・サービス・モデル・ビューとのやりとり

Entity:SQLのテーブルをPHPにしたクラス
    ゲッターセッター
    アノテーションでいろいろ出来る

Repository:SQLを組んでリスト取得や表示順変更など行う

Service:注文や消費税など複数箇所で使用したり特定の機能として独立しているクラス

デバック方法

これ知らないと開発できませんね!

var_dump

devモードならdumpだけで、綺麗に整形してくれます。

dump($array);

実行クエリ確認

どんなSQLを投げたのか確認したい事ありますよね!

dump($qb->getQuery()->getSQL());
exit;

こんな感じで確認できます٩(•̤̀ᵕ•̤́๑)ᵒᵏᵎᵎᵎᵎ

パラメータはないから、dumpで別途確認して下さい。

Docker

今回は初めてDockerで、環境構築

開発環境構築途中でエラー

こちらのコマンド実行後にエラー

docker-compose up -d

エラー内容

Unknown SSL protocol error in connection to XXX

ウィルス対策ソフトのカスペルスキー入れているのですが、、、それ?
macを再起動してすぐにコマンド実行したら解決しました٩(•̤̀ᵕ•̤́๑)ᵒᵏᵎᵎᵎᵎ

No composer.json present in the current directory, this may be the cause of the following exception.

docker-compose up -d

Composer (version 2.0.6) successfully installed to: /var/www/html/composer.phar

composerのバージョンが対応していないのでエラーみたいです。

Dockerfileファイルへバージョン変更するコードを追加

RUN curl -sS https://getcomposer.org/installer \
  | php \
  && mv composer.phar /usr/bin/composer \
  && composer selfupdate --1 \ ←これ!!!
  && composer config -g repos.packagist composer https://packagist.jp \
  && composer global require hirak/prestissimo \
  && chown www-data:www-data /var/www \
  && mkdir -p ${APACHE_DOCUMENT_ROOT}/var \
  && chown -R www-data:www-data ${APACHE_DOCUMENT_ROOT} \
  && find ${APACHE_DOCUMENT_ROOT} -type d -print0 \
  | xargs -0 chmod g+s \
  ;

PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 6291464 bytes) in /var/www/html/vendor/easycorp/easy-log-handler/src/EasyLogFormatter.php on line 84

docker-compose exec eccube composer run-script compile

メモリ不足で発生します。

php.iniファイルでメモリを増やせばOK

Dockerはコンテナで設定

cd /usr/local/etc/php/
vi php.ini
memory_limit = 128M
↓
memory_limit = 512M

You have requested a non-existent parameter “kernel.secret”. Did you mean this: “kernel.charset”?

サーバーからプルしたものをローカルで立ち上げようとしたら、発生したエラー

framework_extra.yamlを下記のファイル内容へ入れ替えたらうまくいった!

EC-CUBE/ec-cube
EC-CUBE is the most popular e-commerce solution in Japan - EC-CUBE/ec-cube

SQLへ初期データの登録

初期データは、EC-CUBEが用意しているデモ用の最低限のデータ

# スキーマ作成+初期データ投入
docker-compose exec ec-cube composer run-script compile

途中で初期化したくなったら

eccubeのサンプルデータも入ってます。

データベース削除:eccubedb デフォルト

データベース作成:CREATE DATABES eccubedb;

あとはさっきのコマンド流せば完了

# スキーマ作成+初期データ投入
docker-compose exec ec-cube composer run-script compile

Workbenchで接続

情報はenvファイルにあります。

 DATABASE_URL=mysql://dbuser:secret@mysql/eccubedb

Hostnameとport番号は、Dockerから確認しました。

パスワードは、「secret」です。

テーブル構成

重要なテーブルのみメモ

dtb_customer:会員ユーザー

dtb_member:管理ユーザー

dtb_cart:カート
dtb_cart_item:カートアイテム
未ログイン, ログイン関係なくカートへ保存

dtb_order:注文
dtb_order_item:注文アイテム
注文時にcartを削除し注文データへ登録

↓ 商品は下記セットでデータないと表示されない

dtb_product:商品
dtb_product_class:商品規格
dtb_product_stock:在庫
dtb_class_name:規格名
dtb_class_category:規格カテゴリ

↓ カテゴリ

dtb_category:カテゴリ
dtb_product_category:商品とカテゴリの紐付け

コメント

タイトルとURLをコピーしました