【EC-CUBE4】コントローラー:Controller

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

こんにちは!@vVv_kenshi_vVvです!

私のControllerの拡張方法を説明していきます。

ドキュメント読んで、手順通りに学んだわけではないので参考程度に見てください。

しっかり学びたい人は、Symfonyのドキュメントをお読みください。

Controller (Symfony Docs)
スポンサーリンク

簡単なControllerのカスタマイズ

ここで説明する情報は既存機能のカスタマイズです。

本体フォルダ→拡張フォルダを見に行きRouteが同一の場合上書きされる性質をもつ

新規のControllerを作成する際は、既存で使用されていないか必ず確認してください。

会員登録や商品詳細をカスタマイズしたいなどで応用できます。

Controllerのカスタマイズが必要か確認

大規模か改修の際は必要

一覧画面:テーブルに追加した項目のみの処理は不要

データ取得は、EntityTrait

表示は、twig

バリデーションは、Form

Controllerのカスタマイズ手順

今回は、会員登録「EntryController」を例に解説していきます。

重要パス
  1. 拡張フォルダ:プロジェクト名/app/Customize/Controller/
  2. 本体フォルダ:プロジェクト名/src/Eccube/Controller/
  1. EntryController.phpをコピーし拡張フォルダへ保存
  2. ファイル名変更CustomEntryController.php
  3. 拡張ファイルへ変更

3について、

  1. namespaceの変更
  2. useでAbstractControllerの読込み
 namespace Customize\Controller;

 use Eccube\Controller\AbstractController;

 class CustomEntryController extends AbstractController
 {

 }

確認方法

デバックするだけです。

    /**
     * 会員登録画面.
     *
     * @Route("/entry", name="entry")
     * @Template("Entry/index.twig")
     */
    public function index(Request $request)
    {
        dump('通過確認');
        exit;

スピード重視型

デフォルトController全てコピー

既存メソッドを改修

新規メソッド追加

追加スタマイズの可能性もあるので、この方が楽

綺麗さ重視型

不要な読込みファイルの削除

不要なメソッドの削除

コメント

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