Je suis passé par la documentation d'un voulais ajouter mon propre fournisseur d'utilisateur (juste pour comprendre la chose trou) classe juste appelé compte et aucun utilisateurentités générées par la doctrine de l'interface utilisateur semble mal dans Symfony2
Alors je l'ai fait comme la documentation dit: http://symfony.com/doc/current/cookbook/security/entity_provider.html
Après avoir appelé php app/console doctrine:generate:entities BaseBundle/Entity/Account
les méthodes getter et setter a été créé.
J'ai édité le fichier security.yml
et j'ai regardé l'interface. FatalErrorException en ligne Account.php 243: Erreur d'analyse: erreur de syntaxe, unexpected '$', attend variable (T_VARIABLE)''
public function set0($0)
{
$this->0 = $0;
return $this;
}
Pourquoi est-ce générée par la doctrine? Il n'y avait pas de variable « 0 »
Lorsque je supprime le getter et setter pour 0 la nouvelle erreur est: Property Runalyze\BaseBundle\Entity\Account::$0 does not exist
Je pense que dans ce contexte, le 0 vient, quand je ne suis pas authentifié? Je commence juste avec symfony2 et je voudrais le comprendre. Qu'est-ce que je me suis trompé? exécutant la version de symfony est 2.6
Pour la dernière "erreur" la trace de la pile at ReflectionProperty ->__construct ('Runalyze\BaseBundle\Entity\Account', '0') in vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/RuntimeReflectionService.php at line 82 at RuntimeReflectionService ->getAccessibleProperty ('Runalyze\BaseBundle\Entity\Account', '0') in vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php at line 893 at ClassMetadataInfo ->wakeupReflection (object(RuntimeReflectionService)) in vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php at line 537
propriétés de classe // Runalyze/BaseBundle/Entité/Account.php espace de noms Runalyze \ BaseBundle \ entité;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Security\Core\User\UserInterface;
/**
* @ORM\Table(name="app_account")
* @ORM\Entity(repositoryClass="Runalyze\BaseBundle\Entity\AccountRepository")
*/
class Account implements UserInterface, \Serializable
{
/**
* @ORM\Column(type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @ORM\Column(type="string", length=25, unique=true)
*/
private $username;
/**
* @ORM\Column(type="string", length=64)
*/
private $password;
/**
* @ORM\Column(type="string", length=60, unique=true)
*/
private $email;
/**
* @ORM\Column(name="is_active", type="boolean")
*/
private $isActive;
Il doit y avoir une sorte de faute de frappe dans vos propriétés de classe. Pouvez-vous nous fournir vos propriétés de classe seulement, pas besoin des méthodes get/set. – Artamiel
@Andariel Voir l'article mis à jour – mipapo
Bonjour, @mipapo. Je voulais dire les propriétés de classe de ** Entity \ Account ** cause, là où votre erreur semble être. Fondamentalement, lorsque vous exécutez la commande de génération d'entités, le script recherche les propriétés et les annotations de votre classe et, sur cette base, crée vos méthodes get/set. – Artamiel