IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

erreur : Attempted to call function "User" from namespace


Sujet :

Symfony PHP

  1. #1
    Nouveau membre du Club

    Inscrit en
    Octobre 2012
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Octobre 2012
    Messages : 94
    Points : 29
    Points
    29
    Billets dans le blog
    1
    Par défaut erreur : Attempted to call function "User" from namespace
    Bonjour,

    J'aimerais svp une aide concernant l'erreur :
    PHP Fatal error: Uncaught Symfony\Component\Debug\Exception\UndefinedFunctionEx
    ception: Attempted to call function "User" from namespace "AppBundle\DataFixture
    s\ORM". in
    Mon controller :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    <?php
     
    namespace AppBundle\Controller;
     
    use Symfony\Bundle\FrameworkBundle\Controller\Controller;
    use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
    use Symfony\Component\HttpFoundation\Request;
    use Symfony\Component\Security\Http\Authentication\AuthenticationUtils;
     
    class LoginController extends Controller
    {
        /**
         * @Route("/login", name="login")
         */
        public function loginAction(Request $request, AuthenticationUtils $authenticationUtils)
        {
            $errors       = $authenticationUtils->getLastAuthenticationError();
            $lastUserName = $authenticationUtils->getLastUsername();
     
            return $this->render('AppBundle:Login:login.html.twig', array(
                'errors'   => $errors,
                'username' => $lastUserName
            ));
        }
     
    }
    Mon LoadUserData.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    <?php
    namespace AppBundle\DataFixtures\ORM;
     
    use AppBundle\Entity\User;
    use Doctrine\Common\DataFixtures\FixtureInterface;
    use Doctrine\Common\Persistence\ObjectManager;
    use Symfony\Component\DependencyInjection\ContainerAwareInterface;
    use Symfony\Component\DependencyInjection\ContainerInterface;
     
    class LoadUserData implements FixtureInterface, ContainerAwareInterface
    {
     
        private $container;
     
        /**
         * Load data fixtures with the passed EntityManager
         *
         * @param ObjectManager $manager
         */
        public function load(ObjectManager $manager)
        {
            $user = User();
            $user->setUsername('mouss');
            $user->setEmail('admin@mouss.com');
            $encoder = $this->container->get('security.password_encoder');
            $password = $encoder->encodePassword($user, '0101');
            $user->setPassword($password);
     
            $manager->persist($user);
            $manager->flush();
        }
     
        public function setContainer(ContainerInterface $container = null)
        {
            $this->container = $container;
        }
    }
    Mon login.html.twig
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    {% extends "::base.html.twig" %}
     
    {% block body %}
        <div class="panel-heading">
            <h3>Connexion</h3>
        </div>
     
        <div class="panel-body">
     
            {% if errors %}
                <div class="alert alert-danger">
                    {{ errors.messageKey }}
                </div>
            {% endif %}
     
            <form action="{{ path('login') }}" method="post">
                <div class="input-group">
                    <label for="username">Username</label>
                    <input type="text" name="_username" id="username" value="{{ username }}" class="input-group">
                </div>
     
                <div class="input-group">
                    <label for="password">Password</label>
                    <input type="text" name="_password" id="password" class="input-group">
                </div>
                <br>
                <button type="submit" class="btn btn-light">Sign In</button>
            </form>
        </div>
    {% endblock %}
    C'est un tuto que j'ai reproduis exactement comme c'est fait dans le tuto . Mais j'ai l'erreur en question quand je fais la commande :
    php bin/console doctrine:fixtures:load

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2013
    Messages
    739
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2013
    Messages : 739
    Points : 1 022
    Points
    1 022
    Par défaut
    bonjour,

    Dans le LoadUserData :
    ligne 22 manque le key word " new "

  3. #3
    Nouveau membre du Club

    Inscrit en
    Octobre 2012
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Octobre 2012
    Messages : 94
    Points : 29
    Points
    29
    Billets dans le blog
    1
    Par défaut
    Salut MehrezLabidi,

    Encore merci ! J'ai passé en revue mon code mais jamais j'ai fais attention à ça . Mon code marche après avoir changer la version de fixtures bundles de 3.0.2 à 2.3.0 .Je ne sais pas pourquoi j'ai eu besoin à faire ça , mais bon le code il marche maintenant . Bien jouer MehrezLabidi !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [débutant] erreur "indice de liste hors limites(1)"
    Par lidouka dans le forum Langage
    Réponses: 2
    Dernier message: 13/12/2005, 14h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo