環境
EC-CUBE 4.0.5
symfony 3.4.42
php 7.3
実行方法
// appを取得
$app = \Eccube\Application::getInstance();
// user情報を取得
$user = $app['user'];
// ゲストユーザは"anon."が格納される
if ($user != "anon.") {
// 会員限定で行いたい処理
}
これでログイン状態のユーザ(会員)を判別して処理を行えるうようになります。
参考に
isGranted('ROLE_USER')は使えない
こちらはAbstractControllerを継承しているController内でしか使えないです。
twig内で使うようなis_granted('ROLE_USER')
も使えません。
他の実行例
こちらの記事にある
$this->app->user()
を使って取れる場合もあるようですが、私の環境では取れませんでした。