Próbuję zaimplementować usługę kodowania hasła, ale wygląda na to, że nie działa, ponieważ otrzymuję komunikat "Zażądałeś nieistniejącej usługi user_service".Użytkownik zażądał nieistniejącej usługi "user_service"
Oto mój kod:
Vendor/BundleNameBundle/Resources/config/services.yml
services:
user_service:
class: Morescreens\VideomanagerBundle\Service\UserService
arguments: ['@security.encoder_factory']
app/config/config.yml kod
imports:
- { resource: "@morescreensVideomanagerBundle/Resources/config/services.yml" }
dla mojej służby
class UserService {
/**
* @var EncoderFactoryInterface
*/
private $encoderFactory;
public function __construct(EncoderFactoryInterface $encoderFactory)
{
$this->encoderFactory=$encoderFactory;
}
public function setEncodedPassword(User $user)
{
$encoder=$this->encoderFactory->getEncoder($user);
$password=$encoder->encodePassword($user->getPassword(),$user->getSalt());
$user->setPassword($password);
}
}
Insi de kontroler kopalni:
$user=new User();
$user->setPassword('password');
$this->get('user_service')->setEncodedPassword($user);
EDIT:
ręcznie usunięte folderu cache i moja służba zaczęła działać.
Dostałem go bro Musiałem ręcznie usunąć folder pamięci podręcznej. Teraz wszystko działa poprawnie. – harisK92