バージョン選択

フォーラム

メニュー

オンライン状況

26 人のユーザが現在オンラインです。 (11 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 26
もっと...

サイト内検索

質問 > 管理機能 > Entity内でEccubeConfigをautowiredしたい

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
xaiam
投稿日時: 2020/6/23 15:59
対応状況: 開発中
新米
登録日: 2020/6/10
居住地:
投稿: 10
Entity内でEccubeConfigをautowiredしたい
▼テンプレート
[EC-CUBE] 4.0.3 新規インストール
[レンタルサーバ]
[OS] macOS catalina
[PHP] PHP7.2.3
[データベース] MySQL 5.7.28
[WEBサーバ] Symfony Local Server v4.16.1
[ブラウザ] chrome 83.0.4103.106
[導入プラグインの有無]
[カスタマイズの有無] controller, entity, twigなど
[現象]
ec-cube4にてentity内でformから送られてきた値のvalidationをしたいのですがec-cubeのデベロッパーはformtypeクラス内にconstraintsを書いています。
その中でapp/config/eccube/packages/eccube.yamlというec-cube4にて普遍的に使われる値が入ったファイルを
/**
* @var EccubeConfig
*/
protected $eccubeConfig;

/**
* CustomerRank constructor.
*
* @param EccubeConfig $eccubeConfig
*/
public function __construct(EccubeConfig $eccubeConfig)
{
$this->eccubeConfig = $eccubeConfig;
}
という風に使えるようにしています。私の認識ではこれはautowiredしていますがよろしいでしょうか?
このconstructorと同じ物をentityに書いてしまうと該当のentityと紐づいたテーブルにあたかもeccube_configというカラムがあるかのようになってしまうと思います。
それを避けながらentity内で上記のコードと同等のものを作るにはどうすればいいでしょうか?

まとめますと
『entity内でautowiredかそれに近いことはできますか?』

よろしくお願いします。
nanasess
投稿日時: 2020/6/24 15:32
対応状況: −−−
登録日: 2006/9/9
居住地: 大阪
投稿: 2078
Re: Entity内でEccubeConfigをautowiredしたい
Entity は Dependncy Injection の対象になっていませんので、 autowired はできません。

以下のように、 Doctrine EventSubscriber でセットすると良いと思います。

https://github.com/EC-CUBE/ec-cube/blob/6ad7b9f90cce0060de23d5dfa69e05d943272d82/src/Eccube/Doctrine/EventSubscriber/LoadEventSubscriber.php#L39-L45


----------------
大河内健太郎(Kentaro Ohkouchi)
EC-CUBE公式エバンジェリスト
スキルニル株式会社

EC-CUBE1系2系長期サポートホスティングサービス CUBE Lab
https://cubelab.info/

xaiam
投稿日時: 2020/6/29 16:14
対応状況: −−−
新米
登録日: 2020/6/10
居住地:
投稿: 10
Re: Entity内でEccubeConfigをautowiredしたい
返信遅れました申し訳ございません。

>entityはdependency injectionの対処になっていない

なるほど

>以下のように、 Doctrine EventSubscriber でセットすると良いと思います

なるほど!
助かりましたありがとうございます。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBEペイメント

公式ストアEC-CUBE4系デザインテンプレート続々リリース中

統計情報

総メンバー数は63,734名です
総投稿数は96,861件です

投稿数ランキング

1
seasoft
7332
2
AMUAMU
2712
3
468
2446
4
nanasess
2078
5
yuh
1612
6
umebius
1601
7
red
1407
8
h_tanaka
1022
9
fukap
907
10
tsuji
863
11
shutta
835
12
tao_s
792
13 ramrun 789
14 karin 657
15 sumida 641
16
homan
633
17 DELIGHT 571
18
patapata
502
19
flealog
485
20 tonton 437


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.