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 :

Constructeur entité & formType


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Echyzen
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2012
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2012
    Messages : 123
    Par défaut Constructeur entité & formType
    Salut à tous,

    Voilà j'ai une relation OneToOne Unidirectionnel entre deux entitiés : rubrique & image.

    Cependant je souhaite un argument modulable pour l'entité inverse : Image (je veux un path différent) du coup j'ai créer un constructor et passe par la fonction : setDefaultOptions du formType associé pour passer la variable ainsi cela donne çà :

    buildForm du formType de l'entité Rubrique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('nom')
            ->add('image', new ImageType('rubrique'), array('required' => true))
        ;
    }

    setDefaultOptions du formType de l'entité Image :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    use Echyzen\NewsBundle\Entity as Entity;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public function setDefaultOptions(OptionsResolverInterface $resolver)
        {
            $resolver->setDefaults(array(
                'empty_data' => new Entity\Image($this->someDependency),
            ));
        }

    Et le constructeur de l'entité image :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public function __construct($path = null) {
     
            if(empty($path)) $this->path = '';
            else {
     
            $this->path = $path;
     
            }
    }
    Alors bien sûr avant que je rajoute çà tout fonctionnait mais plus maintenant au moment de la soumission j'ai ce genre d'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Index "file" cannot be read from object of type "Echyzen\NewsBundle\Entity\Image" because it doesn't implement \ArrayAccess
    Il faut dire un truc les erreur remonter par symfony sont incompréhensible pour l'être humain moyen XD


    Si quelqu'un a une piste ou a déjà été voulu faire un truc comme moi mais a trouver une autre solution pour rendre modulable une entité?

    Merci d'avance de votre réponse

  2. #2
    Membre éprouvé
    Ingénieur d'études et de développement
    Inscrit en
    Juin 2009
    Messages
    112
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur d'études et de développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2009
    Messages : 112
    Par défaut
    Bonjour,

    Qu'est ce que tu entends par rendre modulable ton entité ?

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

    Informations forums :
    Inscription : Juin 2011
    Messages : 725
    Par défaut
    l'erreur dit que à un moment donné du programme on execute ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $uneEntiteImage['file']
    Est-ce l'erreur complète que tu as fourni?

  4. #4
    Membre confirmé Avatar de Echyzen
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2012
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2012
    Messages : 123
    Par défaut
    Alors en faite je souhaite que le path soit modulable (le path ou je stocke mes images). Et comme j'utilise l'image en tant qu'entité faire un service pour çà n'est peut être pas très cohérent... Enfin je sais pas car je suis totalement débutant.

    Sinon oui c'est l'erreur en entier...
    Vous voulez la trace ou du code en supplémentaire?

    et l'entité image possède bien une données $file.

    En tout cas merci de votre aide

  5. #5
    Membre éprouvé
    Ingénieur d'études et de développement
    Inscrit en
    Juin 2009
    Messages
    112
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur d'études et de développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2009
    Messages : 112
    Par défaut
    Désolé mais je ne comprends toujours pas le 'modulable' du path.

    Tu veux uploader un fichier et avoir une entité qui gère ton fichier plus potentiellement d'autres champs ?

    Peux expliquer fonctionnellement ce que tu cherches à obtenir ?

  6. #6
    Membre confirmé Avatar de Echyzen
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2012
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2012
    Messages : 123
    Par défaut
    Je souhaite juste pouvoir modifier l'endroit ou je move l'image selon les cas.

    Par exemple, si j'ai une image pour une news je souhaite enregistrer le nom de l'image en BDD et faire un move de l'image dans web\uploads\img\news

    Et pour, un article web\uploads\img\articles

    C'est pour cela que j'ai commencé a modifier la données membres path de mon entité image mais peut être que tu as une meilleurs solution je suis preneur
    Sachant qu'un service c'est pas possible car l'entité est en relation OneToOne et ManyToOne avec plusieurs autres entités... enfin, je sais pas si c'est génant...

    Aurait tu une autre solution ou alors tu pense que ce que j'ai fais c'est correct?

    En tout cas merci de l’intérêt que tu me porte

Discussions similaires

  1. [DOM] [Xerces] Insertion d'une entité
    Par Traroth dans le forum Format d'échange (XML, JSON...)
    Réponses: 10
    Dernier message: 19/05/2008, 09h28
  2. Générer automatiquement un schéma entité/association
    Par worldchampion57 dans le forum Outils
    Réponses: 3
    Dernier message: 03/06/2003, 17h11
  3. pb constructeurs classes dérivant classe abstraite
    Par Cornell dans le forum Langage
    Réponses: 2
    Dernier message: 10/02/2003, 19h02
  4. [MSXML] Comment empécher la conversion des entités ?
    Par nima dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 08/11/2002, 14h14

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