Bonjour à tous,
J'ai créer un service "ServiceDocuware" que j'ai déclarer dans mon services.yaml:
** services.yaml: **
App\Service\ServiceDocuware:
mais quand je souhaite l'injecter dans le contructeur de mon AbstractFieldType
namespace App\Form\Type\Listes;
use App\Service\ServiceDocuware;
use Symfony\Component\Form\AbstractType;
class AbstractFildType extends AbstractType
{
public function __construct(
private ServiceDocuware $docuware
)
{
}
}
Ce que j'obtiens
J'obtiens l'erreur suivante :
Too few arguments to function App\Form\Type\Listes\AbstractFildType::__construct(), 0 passed in \vendor\symfony\form\FormRegistry.php on line 78 and exactly 1 expected
Je vous remercie
Je pense avoir compris et trouver la solution, il n'est donc pas possible d'injecter quoi que ce soit dans un FORMTYPE, il faut le déclarer dans service.yaml et la ca fonctionne.
Un exemple :
App\Form\Type\FieldsValidatorType:
arguments: ['@doctrine.orm.entity_manager']
tags: [form.type]
et dans mon FORMTYPE je peux donc maintenant injecter
private $entityManager;
public function __construct(EntityManagerInterface $entityManager)
{
$this->entityManager = $entityManager;
}
Hello,
Question conne avant de continuer : As-tu clear le cache ? (ça peut arriver qu'il ne le fasse pas)
Même quand je passe des repositroy ca me donne le meme message:
public function __construct(
private readonly ModuleDocuwarePGRepository $docuwareParamRepository,
private readonly SettingsParametresRepository $settingsParametresRepository,
)
{
}