J'étais extrêmement diligent aujourd'hui et j'ai décidé de retourner le type de toutes mes méthodes d'entité symfony. Alors:Symfony: Problème de formulaire utilisant l'indicateur de type de retour dans les méthodes d'entité
<?php
Class User {
private string $username;
public method getUsername(): string {}
}
tout bon et bien, jusqu'à ce que je fait un formulaire pour créer un nouvel utilisateur:
$user = new User();
$this->createForm(SignupType::class, $user);
lorsque le formulaire est affiché, Symfony obtient automatiquement les propriétés de cette nouvelle instance de User $user
. Mais puisqu'il s'agit d'une nouvelle instanciation, sa propriété username
est bien sûr toujours null
, ce qui est un type de retour incorrect car il doit être string
.
Si je soit:
- ont pas hinting type de retour dans les entités Symfony (meh);
- mis
$username = ''
(mais le chapeau sorte du but de ne pas permettre des blancs et je peux voir toutes sortes d'erreurs évoluant); ou - unmap le champ sur le formulaire de symfony
- autres solutions possibles ...
possible d exprès de [Composant de Formulaire Symfony3 essayant de passer null à une méthode de type tapée en PHP 7] (http://stackoverflow.com/questions/37577395/symfony3-form-component-trying-to-pass-null-to-a- type-hinted-method-in-php-7) – Vamsi