tôi cố gắng tiêm validator vào dịch vụ của tôi - nhưng tôi không tìm thấy nó:Symfony 3 - làm cách nào để đưa trình xác thực vào dịch vụ?
mybundle.service.supplier:
class: AppBundle\Service\SupplierService
calls:
- [setValidator, ['@validator']]
các @validator không phải là dự kiến RecursiveValidator http://api.symfony.com/3.1/Symfony/Component/Validator/Validator/RecursiveValidator.html - các @validator là một giao diện.
Vậy làm cách nào tôi có thể đưa trình xác thực vào dịch vụ của mình?
Đây là những gì tôi muốn:
<?php
namespace AppBundle\Service;
use AppBundle\Entity\Supplier;
use AppBundle\Helper\EntityManagerTrait;
use Symfony\Component\HttpFoundation\RequestStack;
use Symfony\Component\Validator\Validator\RecursiveValidator;
/**
* Class SupplierService
* @package AppBundle\Service
*/
class SupplierService
{
use EntityManagerTrait;
/** @var RecursiveValidator $validator */
protected $validator;
/**
* @return RecursiveValidator
*/
public function getValidator()
{
return $this->validator;
}
/**
* @param RecursiveValidator $validator
* @return SupplierService
*/
public function setValidator($validator)
{
$this->validator = $validator;
return $this;
}
public function addSupplier($data)
{
$supplier = new Supplier();
$validator = $this->getValidator();
$errors = $validator->validate($supplier);
}
}
cảm ơn ... nó đã giúp tôi :) – goldlife