表記の件につき質問致します。
以下サンプルコードにて**$this->encoder->encodePassword($user, 'sample');**の返り値を正常に取得できません。
php
1<?php 2 3namespace App\Controller; 4 5use App\Entity\User; 6 7use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; 8use Symfony\Component\HttpFoundation\Response; 9use Symfony\Component\Routing\Annotation\Route; 10 11class SecurityController extends AbstractController 12{ 13 private $encoder; 14 15 public function __construct(UserPasswordEncoderInterface $encoder) 16 { 17 $this->encoder = $encoder; 18 } 19 20 /** 21 * @Route("/index", name="index") 22 */ 23 public function index(Request $request) 24 { 25 $user = new User(); 26 27 $ret = $this->encoder->encodePassword($user, 'sample'); 28 var_dump($ret); 29 30 return $this->render('index.html.twig'); 31 } 32 33}
上記をブラウザから実行すると以下のエラーが出力されます。
Type error: Argument 1 passed to Symfony\Component\Security\Core\Encoder\UserPasswordEncoder::encodePassword() must be an instance of Symfony\Component\Security\Core\User\UserInterface, instance of App\Entity\User given, called in /var/www/html/site.takeho.com/src/Controller/SecurityController.php on line 29
解決方法を教えてください。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。