如何在不在函数参数中声明的情况下使用 UserPasswordEncoderInterface
How can I use UserPasswordEncoderInterface without declaring it in function parameter
如何使用 UserPasswordEncoderInterface 而不必将其声明为函数参数?我想在其他地方使用此方法,因此我不能。
namespace App\Controller;
/.../
use Symfony\Component\Security\Core\Encoder\UserPasswordEncoderInterface;
class UserController extends AbstractController
{
public function register(UserPasswordEncoderInterface $passwordEncoder, Request $request)
{
//some code here
}
如果你在你的配置中使用 autowire: true 你可以注入服务。 docs
namespace App\Controller;
use Symfony\Component\Security\Core\Encoder\UserPasswordEncoderInterface;
class UserController extends AbstractController
{
private UserPasswordEncoderInterface $passwordEncoder;
public function __construct(UserPasswordEncoderInterface $passwordEncoder)
{
$this->passwordEncoder = $passwordEncoder;
}
public function register(Request $request)
{
// use it
$this->passwordEncoder->encode();
}
}
如何使用 UserPasswordEncoderInterface 而不必将其声明为函数参数?我想在其他地方使用此方法,因此我不能。
namespace App\Controller;
/.../
use Symfony\Component\Security\Core\Encoder\UserPasswordEncoderInterface;
class UserController extends AbstractController
{
public function register(UserPasswordEncoderInterface $passwordEncoder, Request $request)
{
//some code here
}
如果你在你的配置中使用 autowire: true 你可以注入服务。 docs
namespace App\Controller;
use Symfony\Component\Security\Core\Encoder\UserPasswordEncoderInterface;
class UserController extends AbstractController
{
private UserPasswordEncoderInterface $passwordEncoder;
public function __construct(UserPasswordEncoderInterface $passwordEncoder)
{
$this->passwordEncoder = $passwordEncoder;
}
public function register(Request $request)
{
// use it
$this->passwordEncoder->encode();
}
}