EC-CUBE Entity Generator
EC-CUBE 4 のエンティティ(Entity)・リポジトリ(Repository)・マイグレーション(Migration)ファイルを、VSCode のエクスプローラーパネルの右クリックメニューから素早く生成する拡張機能です。
⚠️ 重要:起動方法について
この拡張機能は VSCode 左サイドバーの「エクスプローラー」パネル 上でのみ起動できます。
✅ エクスプローラーのフォルダを右クリック → メニューに表示されます
✅ エクスプローラーのファイルを右クリック → メニューに表示されます
❌ エディタ本文(コード編集エリア)を右クリック → 表示されません
エクスプローラーとは:VSCode 左サイドバーのファイルツリー(フォルダ・ファイルの一覧)のことです。
Cmd+Shift+E(macOS)または Ctrl+Shift+E(Windows/Linux)で開けます。
機能
- エクスプローラーのフォルダ・ファイルを右クリックするだけで起動
- 入力したフィールド定義から Doctrine ORM アノテーションを自動生成
- getter / setter を全フィールドに自動生成
- EC-CUBE 4 の基底クラス
\Eccube\Entity\AbstractEntity を自動継承
- 以下のファイルを選択して生成可能
- Entity →
/app/Customize/Entity/ClassName.php
- Repository →
/app/Customize/Repository/ClassNameRepository.php
- Migration →
/app/DoctrineMigrations/VersionYYYYMMDDHHiiss.php
使い方
手順
1. エクスプローラーパネルを開く
VSCode 左サイドバーのファイルツリーを表示します(Cmd+Shift+E / Ctrl+Shift+E)。
2. プロジェクト内のフォルダまたはファイルを右クリックする
エクスプローラー上の任意のフォルダまたはファイルを右クリックすると、コンテキストメニューに
「EC-CUBE: Generate Entity (+ Repository / Migration)」 が表示されます。
🔴 エディタ本文(コードを書く中央エリア)を右クリックしてもメニューは表示されません。
必ずエクスプローラーパネル上で右クリックしてください。
3. 入力ダイアログに答える
| 項目 |
説明 |
例 |
| エンティティクラス名 |
生成するクラス名(PascalCase) |
ProductReview |
| フィールド定義 |
1 行 1 フィールドで入力(下記フォーマット参照) |
下記参照 |
| 生成対象 |
Entity のみ / + Repository / + Migration |
選択式 |
4. 完了
プロジェクトルートが自動判定され、所定のディレクトリに .php ファイルが生成されます。
生成先ディレクトリ
| ファイル |
生成先 |
namespace |
| Entity |
/app/Customize/Entity/ |
Customize\Entity |
| Repository |
/app/Customize/Repository/ |
Customize\Repository |
| Migration |
/app/DoctrineMigrations/ |
DoctrineMigrations |
フィールド定義のフォーマット
フィールド名:型,論理名,制約
記述例:
id:int,プライマリキー,PK AUTO
product_id:int,商品ID,NOT NULL
reviewer_name:string(255),レビュアー名,NULL DEFAULT 名無し
evaluation:int,評価,NOT NULL
comment:text,コメント,NOT NULL
create_date:datetime,作成日,NOT NULL
使用できる型:
| 入力値 |
Doctrine 型 |
PHP 型 |
int / integer |
integer |
int |
string / string(255) |
string |
string |
text |
text |
string |
datetime |
datetime |
\DateTime |
boolean / bool |
boolean |
bool |
float |
float |
float |
decimal |
decimal |
string |
date |
date |
\DateTime |
使用できる制約キーワード:
| キーワード |
意味 |
PK |
プライマリキー |
AUTO |
自動インクリメント |
NOT NULL |
NOT NULL 制約 |
NULL |
NULL 許可(nullable) |
DEFAULT 値 |
デフォルト値 |
生成される Repository のメソッド一覧
save / delete は生成しません。EntityManager を直接利用してください。
| メソッド |
説明 |
findOneById(int $id) |
IDで1件取得 |
findAllOrderById() |
全件をID昇順で取得 |
findByCriteria(array $criteria, ?array $orderBy) |
条件を指定して取得 |
findByIds(array $ids) |
複数IDで取得 |
countBy(array $criteria) |
件数を返す |
getListQueryBuilder() |
一覧用QueryBuilderを返す |
getPaginatedQueryBuilder(int $page, int $perPage) |
ページネーション用QueryBuilderを返す |
existsById(int $id) |
IDの存在確認 |
コマンドパレットからも実行できます
右クリックメニューが見つからない場合は、コマンドパレットからも実行できます。
Cmd+Shift+P(macOS)/ Ctrl+Shift+P(Windows/Linux)
→「EC-CUBE: Generate Entity」と入力して実行
動作要件
- Visual Studio Code 1.80.0 以上
- EC-CUBE 4.x プロジェクト
ライセンス
MIT