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 :

Fichier YAML dans le repertoire data/fixtures/ [1.x]


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 39
    Par défaut Fichier YAML dans le repertoire data/fixtures/
    Bonjour à tous,

    Je me sert du tutorial de symfony pour créer mon environnement de developpement web. Mais probléme: Enfaite, dans le tutorial jour3 (voici le lien http://www.symfony-project.org/jobeet/1_2/Propel/fr/03), il est demandé de créer un fichier Yaml dans le repertoire data/fixtures/
    Or il y a déja un message fixtures dans le repertoire, je sais pas s'il faut éditer ce fichier la, ou créer carement un autre fichier. Car quand je fait la commande $ php symfony propel:data-load
    que je suppose devrait charger les données dans la base, je ne retrouve rien dans mes tables.
    Je ne comprends pas ce qui cloche !!!
    Est ce que quelcun peut m'aider. Merci

    Cordialement,

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 52
    Par défaut
    Bonjour


    Une réponse
    Tu peux créer plusieurs fichier dans le répertoire data/fixtures
    Ils s'appellent ceQuetuVeux.yml

    C'est le contenu qui compte ...
    - attention à ne pas utiliser de tabulation (que des espaces)
    - attention aux décalages à gauche
    - attention pas de retour à la ligne sauf si tu utilise le caractère |
    - dans un premier temps méfie toi des accents ... dans un second temps si tu as la solution, je suis preneur !
    - dans un fichier yml, toute ce qui suit un # est un commentaire. Ainsi dans le fichier fixtures.yml fourni par Symfony ne contient que des commentaires (si tu copies sans enlever certains # rien ne se passe)!




    Voici un exemple
    Le fichier s'appelle test_user.yml, il est dans data/fixtures

    La table s'appelle user
    Elle comporte 4 champs id, name, age, description.
    Le champ id est absent dans le fichier: c'est une clé primaire auto-incrémentée.
    Aussi, elle se crée automatiquement si elle n'est pas spécifiée (rien n'empêche de le faire).

    Les noms utilisateur1, utilisateur2 et utilisateur3 sont des noms internes pour les fichiers de tests (d'après ce que j'ai compris).

    Le champ description de l'utilisateur2 contiendra "une description entree sur plusieurs lignes ici les decalages ne comptent pas"


    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
     
    user:
      utilisateur1:
         name:  Alfred
         age:    15
         description: une description qui tient sur une seule ligne
     
      utilisateur2:
         name: Bernard
         age:   17
         description: |
             une description entree sur plusieurs lignes
             ici les decalages ne comptent pas 
     
      utilisateur3:
         name: Coco
         age:   16
         description: encore un texte sur une ligne


    Bonne recherche
    Vérifie que la table dans laquelle tu insères existe bien avec la bonne structure. Et que tu peux écrire dedans sous MsDos (ou autre ..)
    Pour cela, j'utilise phpMyAdmin

    Je suis Doctrine et non Propel, j'utilise les commandes dans une fenêtre MsDos
    symfony doctrine:build-all pour construire la base
    symfony doctrine:data-load pour mettre les données dedans
    symfony doctrine:build-all-reload pour enchainer les deux précédentes
    Il est important d'être dans le répertoire racine du projet

    Commence par un fichier très simple sur une base très simple...

  3. #3
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 39
    Par défaut
    Bonjour,

    Je te remercie siocnarf pour ta réponse trés clair et détaillée.
    Enfaite ça a marché ! c'était juste un probleme de propel, je n'éxecutais pas la commande propel:data-load au bon repertoire.
    Mais ton explication m'eclaircie beaucoup de points. Je te remecrcie.
    Parcontre j'aimerai savoir un autre truc:
    Dans le fichier web/frontend_dev.php

    1. Déja j'aimerai savoir à quoi sert vraiment ce fichier ?
    2. Et puis que veut dire la la condition:
    if (!in_array(@$_SERVER['REMOTE_ADDR'], array('127.0.0.1','::1'))) surtout le sens de '::1'

    Voila. Merci.

    Cordialement,

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 52
    Par défaut
    Attention, je commence à un être un pro du yml mais pour Symfony je patine encore ... mais j'en suis un peu plus loin que toi et je progresse doucement mais surement !



    Qu'est-ce ?
    Si tu as suivi le Jobeet, cela correspond à ce que tu as fait à la fin du premier jour

    The domain name jobeet.localhost used in the Apache configuration has to be declared
    locally. If you run a Linux system, it has to be done in the /etc/hosts file. If you run
    Windows XP, this file is located in the C:\WINDOWS\system32\drivers\etc\ directory.
    Add in the following line:
    127.0.0.1 jobeet.localhost
    127.0.0.1 correspond en général à l'adresse du localHost (server local)

    ::1 je ne sais pas trop (le port ???)
    dans mon fichier C:\WINDOWS\system32\drivers\etc\hosts il y a
    127.0.0.1 localhost
    ::1 localhost
    Pour le visualiser sous Vista, il faut lancer Bloc-note en tant qu'administrateur (clic droit)




    Utilité de l'instruction
    L'instruction est là (je crois) pour éviter que lors de la mise en production du site, si ce fichier est envoyé sur le serveur distant par erreur, on puisse visualiser les pages en mode dev.
    Une personne mal intentionnée pourrait utiliser la mine de renseignements que donne la barre de débogage !

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 52
    Par défaut
    Pendant qu'on est sur les fichiers Fixtures ...


    Les fichiers YML passe d'abord par PHP avant l'interpréteur YAML...
    le PHP contenu dans ces fichiers sera traité en premier.

    Aussi ces fichiers peuvent contenir du code PHP: ce qui est pratique pour entrer des centaines de données dans les tables !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    User:
    <?php for ($i = 1; $i <= 100; $i++): ?>
       user_<?php echo $i ?>:
         name: User<?php echo $i ?> 
         age: <?php echo $i%20 ?> 
    <?php endfor ?>
    Attention à bien mettre un espace à la fin des lignes terminant par ?>
    Sinon, tu te retrouves avec tout dans le même champ.

  6. #6
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 39
    Par défaut
    Je te remercie. Enfaite moi je travail sur un serveur distant de l'entreprise ou je fais mon stage. Donc ça complique un peu les choses!!!

  7. #7
    Nouveau candidat au Club
    Inscrit en
    Juin 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 2
    Par défaut
    Citation Envoyé par siocnarf Voir le message
    - dans un premier temps méfie toi des accents ... dans un second temps si tu as la solution, je suis preneur !
    Salut,

    Je pense avoir la solution:
    il faut d'abord aller dans le fichier database.yml et remlacer la ligne
    "encoding: utf8"
    par
    "encoding: latin1"

    ensuite dans settings.yml, ajouter la ligne "charset: iso-8859-1" à "all:"

    ça fait un peu bricolage de faire ça vu que l'utf-8 devrait être capable d'afficher des accents mais ça marche et je pense que c'est suffisant tant qu'on a pas besoin de faire une version japonaise ou russe de son site...

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

Discussions similaires

  1. lister ses fichiers xls dans le repertoire de son choix ?
    Par alucard_xs dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 08/10/2007, 14h31
  2. afficher fichier contenu dans un repertoire
    Par levac dans le forum VB 6 et antérieur
    Réponses: 18
    Dernier message: 20/06/2007, 11h54
  3. Savoir si un fichier existe dans un repertoire du serveur ftp
    Par kam81 dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 04/03/2007, 15h00
  4. Fichiers Access Dans Les Repertoires
    Par T'chab dans le forum Access
    Réponses: 3
    Dernier message: 01/06/2006, 11h24
  5. Réponses: 9
    Dernier message: 27/10/2005, 22h38

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