ハマログ

株式会社イーツー・インフォの社員ブログ

学生バイトに与えられた環境は

こんにちは。1回目の投稿ながらネタ切れを起こしているnomiです。自己紹介のときのネタを深めてもよかったのですが、せっかくなので業務に直結する内容、と言うよりむしろ業務そのものを紹介してみようと思います。

何やっているの?

LINE IDでログインしたり、ショップからお知らせを受信したりできるようにするEC-CUBEのプラグインを作っています。もともとEC-CUBE 3のLINEログイン連携プラグインはあるのですが、これに機能を追加したりEC-CUBE 4に移植したりをしています。

開発環境

ノートPC1つとディスプレイ1つを使って作業しています。

ノートPCは会社が用意してくれたもので、Surfaceっぽい形をした東芝のDynabookです。さも当然のように Core i7 / RAM 16 GBというスペックでした。ドライブが1 TBで「なんだSSDじゃないのか」と一瞬思ったのですが、SSDでした。しゅごい。
私が2ヶ月働いてやっと買えるくらいの代物なので、壊さないように恐る恐る使っています。

WindowsでEC-CUBEを動かす

EC-CUBE プラグインの開発にあたって、そもそもEC-CUBEが動かないといけません。さらに、そのためにはPHPやWebサーバが必要になります。私はXAMMPでローカルPCにサーバを立てることにしました。dockerとか使うのも面白そうですが、扱える自身がないので今回はXAMPPを使いました。

EC-CUBEでつまづいたあれこれ

EC-CUBEをインストールするときに意外と苦労しました。備忘がてら、私がつまづいたポイントと解決法を簡単に列挙してみます。

  • XAMPPの最新版(PHP 7.3) では動かない。PHP 7.2を使う
  • EC-CUBEインストール画面のデータベース設定で「ホスト先」を設定しないとエラーになる。
  • やたらタイムアウトしてしまうことがあるので、php.iniのmax_execution_timeを大きくする
  • 困ったらキャッシュファイルを削除して、祈りながらしばらく待つ

PhpStormが便利だった

EC-CUBEが動いたらいよいよPHPファイルをがりごり書いて開発です。PHPの開発にはPhpStormを使っています。初めてPhpStormを使ってみたところ、想像よりはるかに便利でした。

いろいろ書くと長くなりそうなのですが、 初めて使った時の感動を記したいので、少しだけご紹介を

デバッグ実行が便利

ブレークポイントを設置して、コードを1行ずつステップ実行するあの機能です。少しXAMMPとPhpStormをいじるだけでできました。別にPhpStormの機能かというと厳密には違う気もしますが、便利です。

「あ、この変数がnullになってるんだ」とエラーの原因に納得したり、「ここではこの変数から会員IDが取得できるかな」などと推察するために使います。さしずめ、EC-CUBEやSymfonyについて何も分からず、ずっと心細い思いをしている中で唯一頼れる相棒といったところです。この機能がなければ、私はきっと既に心が折れていたと思います。

環境構築時にまず設定した機能です

Ctrl+Dが便利

ファイルを複数選択した状態でCtrl+Dを押すと、ファイルの差分が取れます。便利です。LINE連携プラグインとは言っても、

  • EC-CUBE 3 無料版
  • EC-CUBE 3 有料版
  • EC-CUBE 4 無料版
  • EC-CUBE 4 有料版

の4つがあり、それぞれのパッケージを修正・機能追加しています。「有料版に追加した機能を無料版にも実装する」などのとき、この機能がないとやっぱり心が折れていました。

「どのエディタにもdiffくらいあるだろう」という気はしますが、PhpStormの差分表示はなかなかカッコいいですね。Gitと合わせるとより強力です。

Gitでコンフリクトしたときの画面なんですが、グラフィカルで差分が分かりやすいです。どんどんブランチ切ってコンフリクトさせたくなるような魅力があります

Ctrl+Shift+Fが便利

ディレクトリ単位やプロジェクト単位で、横断的に文字列検索できます。便利です。「EC-CUBEの本体ではこの処理どうやっているんだろう」とか「この関数・オブジェクトってどんな使い方をすればいいんだ?」とかのときにとても役立ちます。おそらくこの機能がなければ、やはり心が折れていたと思います。

最後に

思いつくままに書いたら少し長くなってしまいました。定時も過ぎているので以上にします。 次回はもうちょっと技術的なネタが書けたらなと思う次第です。

結局、仕事環境というよりも「PhpStormって便利ですね」というだけの記事で恐縮ですが、お付き合いくださりありがとうございました。

EC-CUBEEC-CUBE3EC-CUBE4LINELINE BOTpluginシステム開発

  nomi   2019年3月18日


関連記事

gzやzip圧縮されたファイルの中身をgrepする

apacheのローテーションされたログがgzで保存されているサーバがありまして、…

EC2インスタンスにAWS Systems Manager Session Managerで接続する

AWSのEC2インスタンスに、エンジニアのPCからクライアントソフトで接続してい…

Github Copilot Labs

GitHub Copilotスゴイ 控えめに言って神。 最近「神」という言葉が形…


← 前の投稿

次の投稿 →