ブログ
これまでに経験してきたプロジェクトで気になる技術の情報を紹介していきます。
laravelを経験した後のEC-CUBE3の所感
EC-CUBE3を使ったときの所感を記載します。
laravelと似ているのかと考えていたら違っていた
EC-CUBE3はフレームワークにsymfony2.7が採用されています。
laravelもsymfonyベースなので似ていると考えていたら違っていました。
Controller
public function の上のコメントにルーティングを記述します。
Controllerを修正すると全てのルーティングの再構成をしてキャッシュを作り直すようです。
これに時間がかかります。何十秒か数分。毎回ストレスとなりました。
ORM(Doctrine)
メソッドチェーンの使い方はむしろCakePHPに似ていると感じました。
laravelと比較すると使いづらさを感じました。
Collection
laravelではCollectionのメソッドが充実していましたので SELECT結果をCollectionで取得した後でも、 オブジェクト構造の変更にわりと取り回しが効きました。
ですがEC-CUBEではlaravelほどCollectionのメソッドが充実していなくて、 foreachで処理しました。
formBuilder
htmlに出力される入力フォームを作るのがformBuilderです。
入力要素のバリデーションルール、input要素のtype、入力要素がテーブルのどのカラムと紐づくか 等を定義します。
バリデーションを作るのが苦労した
formBuilder内にカスタムバリデーションを記述しようとしたのが間違いだったのかもしれません。 他の入力項目の値やクエリ取得結果によって分岐する場合はどうすればいいかわからず苦労しました。
テーブルのリレーションが関係してくる
formBuilderで入力要素が どのカラムと紐づくかを定義しておく事が テーブルのリレーション定義と関係して 意図していないバリデーションがかかったりすることがありました。
デザイン調整のために何度も修正した
formBuilderで定義した入力要素がhtmlフォームとして出力されるので フォームのデザイン調整のために何度もformBuilderを修正しました。
twig
担当箇所として入力フォームのデザインが多かったです。 デザイン調整はほぼformBuilderの修正で twigの利便性を感じることはありませんでした。
以上になります。
コメントはありません。