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

Doctrine2 PHP Discussion :

Impossibe de mettre à jour mon entité


Sujet :

Doctrine2 PHP

  1. #1
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut Impossibe de mettre à jour mon entité
    Bonjour,

    J'ai installé et configuré FOSUserBundle en suivant un tuto.

    J'essaie de mettre à jour mon entité sous terminal :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    php app/console doctrine:schema:upate --force
    Et j'obtiens cette erreur (pour ne pas dire cette horreur ) :

    [Symfony\Component\Config\Definition\Exception\InvalidConfigurationException]
    Unrecognized options "0, 1, 2, 3" under "security.firewalls.access_control"
    Je suis totalement perdu, vu que débute avec le Framework.

    Voici le code du fichier security.yml :

    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
    38
    39
    40
    41
    42
    43
    44
    # To get started with security, check out the documentation:
    # http://symfony.com/doc/current/book/security.html
    security:
        encoders:
            FOS\UserBundle\Model\UserInterface: bcrypt
     
        role_hierarchy:
            ROLE_ADMIN:       ROLE_USER
            ROLE_SUPER_ADMIN: ROLE_ADMIN
     
        # http://symfony.com/doc/current/book/security.html#where-do-users-come-from-user-providers
        providers:
            fos_userbundle:
                id: fos_user.user_provider.username
     
        firewalls:
            # disables authentication for assets and the profiler, adapt it according to your needs
            main:
                pattern: ^/
                form_login:
                    provider: fos_userbundle
                    csrf_provider: security.csrf.token_manager # Use form.csrf_provider instead for Symfony <2.4
     
                logout:       true
                anonymous:    true
            dev:
                pattern: ^/(_(profiler|wdt)|css|images|js)/
                security: false
     
            #main:
                #anonymous: ~
                # activate different ways to authenticate
     
                # http_basic: ~
                # http://symfony.com/doc/current/book/security.html#a-configuring-how-your-users-will-authenticate
     
                # form_login: ~
                # http://symfony.com/doc/current/cookbook/security/form_login_setup.html
     
            access_control:
                - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
                - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
                - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
                - { path: ^/admin/, role: ROLE_ADMIN }
    Merci d'avance.

    bee

  2. #2
    Membre à l'essai
    Femme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Août 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Vietnam

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Finance

    Informations forums :
    Inscription : Août 2015
    Messages : 9
    Points : 20
    Points
    20
    Par défaut
    je ne crois pas que ce soit ça mais essaye cette commande :

    php app/console doctrine:schema:update --force

    Quand je regarde mon fichier j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
            dev:
                pattern: ^/(_(profiler|wdt|error)|css|images|js)/
                security: false
    
        default:
                anonymous: ~

  3. #3
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2011
    Messages : 725
    Points : 1 050
    Points
    1 050
    Par défaut
    Bonjour,

    ça semble être un problème d'indentation de ton fichier yaml
    "access_control" se retrouve imbriqué dans "firewall"

    alors que dans un fichier correct "access_control" doit être au même niveau que "firewall"
    http://symfony.com/fr/doc/current/re.../security.html

  4. #4
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut
    Salut et merci à vous deux,

    Il y avait en effet deux problèmes :

    1) Il manquait en effet un d à update
    2) Problème d'indentation

    Je vous mets un +1 à tous les deux

    Maintenant, j'ai ce problème :

    [Symfony\Component\DependencyInjection\Exception\InvalidArgumentException]
    There is no extension able to load the configuration for "firewalls" (in /Applications/MAMP/htdocs/ecommerce/app/config/security.yml). Looked for namespace "firewalls", found "framework", "security",
    "twig", "monolog", "swiftmailer", "assetic", "doctrine", "sensio_framework_extra", "ecommerce", "pages", "fos_user", "utilisateurs", "debug", "web_profiler", "sensio_distribution"
    Cela vous parle ?

    Merci encore pour l'aide.

    bee

  5. #5
    Membre à l'essai
    Femme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Août 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Vietnam

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Finance

    Informations forums :
    Inscription : Août 2015
    Messages : 9
    Points : 20
    Points
    20
    Par défaut
    Tu as bien ajouté la ligne dans ton fichier AppKernel.php après avoir installer FOSUserBundle dans la fonction registerBundles()


    new FOS\UserBundle\FOSUserBundle(),

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    class AppKernel extends Kernel
    {
        public function registerBundles()
        {
            $bundles = array(
                  [ ... ]
                  new FOS\UserBundle\FOSUserBundle(),
            );
           [ ... ]
          }
          [ ... ]
    Regarde que tu n'as pas de tabulation dans ton fichier security.yml

  6. #6
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut
    Merci pour ta réponse rapide.

    Voici ce que j'ai :

    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
    public function registerBundles()
        {
            $bundles = array(
                new Symfony\Bundle\FrameworkBundle\FrameworkBundle(),
                new Symfony\Bundle\SecurityBundle\SecurityBundle(),
                new Symfony\Bundle\TwigBundle\TwigBundle(),
                new Symfony\Bundle\MonologBundle\MonologBundle(),
                new Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle(),
                new Symfony\Bundle\AsseticBundle\AsseticBundle(),
                new Doctrine\Bundle\DoctrineBundle\DoctrineBundle(),
                new Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle(),
                new AppBundle\AppBundle(),
                new Ecommerce\EcommerceBundle\EcommerceBundle(),
                new Pages\PagesBundle\PagesBundle(),
                new FOS\UserBundle\FOSUserBundle(),
                new Utilisateurs\UtilisateursBundle\UtilisateursBundle(),
            );
    C'était juste un problème d'indentation dans security.yml

    J'ai maintenant ce dernier problème :

    The-Best:ecommerce admin$ php app/console doctrine:schema:update --force

    Fatal error: Class 'FOS\UserBundle\Entity\User' not found in /Applications/MAMP/htdocs/ecommerce/src/Utilisateurs/UtilisateursBundle/Entity/Utilisateurs.php on line 14
    [2015-08-16 14:17:58] php.CRITICAL: Fatal Error: Class 'FOS\UserBundle\Entity\User' not found {"type":1,"file":"/Applications/MAMP/htdocs/ecommerce/src/Utilisateurs/UtilisateursBundle/Entity/Utilisateurs.php","line":14,"level":-1,"stack":[]}

    Fatal error: Class 'FOS\UserBundle\Propel\om\BaseUser' not found in /Applications/MAMP/htdocs/ecommerce/vendor/friendsofsymfony/user-bundle/Propel/User.php on line 18
    Merci encore pour l'aide.

    bee
    Images attachées Images attachées  

  7. #7
    Membre à l'essai
    Femme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Août 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Vietnam

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Finance

    Informations forums :
    Inscription : Août 2015
    Messages : 9
    Points : 20
    Points
    20
    Par défaut
    Il faut que tu génére un Bundle

    Nom : sanstitre1.png
Affichages : 463
Taille : 4,8 Ko

    Ensuite tu génère une entité que tu extends de FOSUserBundle.

    Nom : sanstitre2.png
Affichages : 466
Taille : 7,9 Ko

    Par contre le namespace n'est pas valide pour ton cas il faudra certainement que tu le modifie.

    Ensuite fait un

    php app/console doctrine:generate:entities $tonBundle // permet de générer les getter et setter pour les entities de ton bundle

    php app/console doctrine:schema:update --force

  8. #8
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut
    Re,

    Merci pour ta réponse.

    J'ai donc dû changer le use pour que ça fonctionne :

    use FOS\UserBundle\Model\User as BaseUser;

    Je ne suis pas sûr d'avoir tout compris, mais bon...

    Encore merci.

    bee

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

Discussions similaires

  1. Comment mettre à jour mon Gridview
    Par bipbip2006 dans le forum ASP.NET
    Réponses: 16
    Dernier message: 20/09/2010, 16h50
  2. Réponses: 3
    Dernier message: 17/04/2010, 14h56
  3. Mettre à jour mon modalPopupExtender
    Par processus dans le forum ASP.NET
    Réponses: 1
    Dernier message: 02/03/2010, 12h42
  4. Réponses: 11
    Dernier message: 11/10/2009, 05h23
  5. Mettre à jour mon interface durant de longs calculs
    Par Rodrigue dans le forum C++/CLI
    Réponses: 7
    Dernier message: 16/02/2008, 11h26

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