有人可以告诉我如何使用依赖注入(inject)将验证器注入(inject)到常规类中。
在我的 Controller 中,我有:
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Form;
class FormController extends Controller {
public function indexAction()
{
$form = new Form();
$email = $request->request->get('email');
$valid = $form->isValid($email);
}
}
我想使用这个自定义类 - 但我需要它可以访问验证器。
class Form {
public function isValid($value)
{
// This is where I fail
$validator = $this->get('validator');
... etc
}
}
最佳答案
在 Symfony 4+ 中,如果您使用默认配置(启用自动连接),最简单的方法是注入(inject) ValidatorInterface
.
例如:
<?php
use Symfony\Component\Validator\Validator\ValidatorInterface;
class MySuperClass
{
private $validator;
public function __construct(
ValidatorInterface $validator
) {
$this->validator = $validator;
}
关于symfony - 如何在 Symfony 中注入(inject)验证器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12462770/