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

 PHP Discussion :

Débuter avec Symfony - Plein de questions


Sujet :

PHP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 10
    Points : 4
    Points
    4
    Par défaut Débuter avec Symfony - Plein de questions
    Bonjour à tous

    Avant toute chose je m'excuse si il faut passer par la case présentation avant de poster mais je n'ai pas trouvé de section dédiée

    Je me présente donc brièvement, Alain, 27 ans, développeur amateur en php. Par amateur j'entends que ce n'est pas mon métier, c'est un passe temps qui me suis depuis de nombreuses années.

    J'ai début avec du C puis du C++ puis j'ai découvert le php (transition très facile).
    J'ai développé un jeu en php il ya quelques temps maintenant, en essayant de faire de la POO au mieux car mes bases objet étaient loin.
    Aujourd'hui je voudrais reprendre le jeu et tout refaire via Symfony pour avoir quelque chose de carré, beaucoup plus sécurisé et plus facile à modifier / optimiser / améliorer.

    Je suis débutant (mais vraiment niveau 0) avec les frameworks et du coup j'ai pas mal surfé sur le net, et chaque fois on conseillait Symfony.
    Hier je l'ai donc installé, et go je me lance pour le tutorial Jobeet.

    Si le début est assez simple, j'ai vite sorti la bouée et les brassard parce que là je nage complètement.
    En fait j'ai beaucoup de mal à comprendre l'architecture globale du projet. Il ya des fichiers de partout dans de multiples répertoires, je ne comprend pas quoi modifier pour quoi faire. Alors bon je sais que c'est plutôt normal vu que je part de 0 mais ça me fait un peu peur

    Première question, les bases de données. A l'heure actuelle ma base existe, c'est une base SQL toujours gerée jusque là via phpmyadmin.
    Comment faire pour l'utiliser dans symfony ? il faut que je recrée un fichier yml que j'intègre ensuite via la commande "symfony doctrine:build-schema" et ainsi de suite ? n'y a t'il pas une solution "plus simple" ?

    Ensuite j'ai donc mon site actuel, avec le fonctionnement normal (pour faire simple un jeu de gestion de colonie avec territoire, création automatique de ressources, créations d'unitées pour la guerre).
    J'ai énormément de mal à voir comment séparer mon design (donc CSS + mise en page) du reste car il ya tellement de répertoire, de fichiers, de conditions dans symfony que je ne sais absolument pas comment m'y prendre.
    J'ai essayé de comprendre via le tuto Jobseet mais ça reste assez abstrait pour moi
    A l'heure actuelle j'ai mon "template" maison avec la mise en page dans laquelle j'insère mon code via des insert php, et de l'autre coté mon css. Donc tout est déjà "separé" mais je ne comprend pas le fonctionnement et les interractions dans symfony.

    Pensez vous qu'a la limite je devrais laisser tomber car pas le niveau pour démarrer sur un frameworks ?

    D'avance merci à tous pour vos réponses.

  2. #2
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 619
    Points : 188 605
    Points
    188 605
    Par défaut
    et bienvenue ici !

    Première question, les bases de données. A l'heure actuelle ma base existe, c'est une base SQL toujours gerée jusque là via phpmyadmin.
    Pas une base SQL, ça ne veut rien dire, SQL étant le langage utilisé pour faire des requêtes. Dans ton cas, ça doit être MySQL, le plus répandu (à tort ou à raison, le débat doit déjà avoir eu lieu).

    Comment faire pour l'utiliser dans symfony ?
    Il faut remplir ton fichier databases.yml (avec Doctrine du moins ; si tu n'utilises pas Doctrine, abandonne Propel et passe à Doctrine, ça vaudra mieux pour toi).

    Tout ce qui passe par les schémas, ce sont les tables de ta base, avec leurs colonnes et les types qui sont dedans. Tu peux avoir une infinité de schémas sur une seule base de données, tu peux avoir un même schéma sur plusieurs bases de données (mais ça devient tricky à gérer).

    J'ai énormément de mal à voir comment séparer mon design (donc CSS + mise en page) du reste car il ya tellement de répertoire, de fichiers, de conditions dans symfony que je ne sais absolument pas comment m'y prendre.
    Chaque application possède un layout principal (tu auras normalement deux applications : le frontend, pour les joueurs ; le backend, pour les admins). Il doit se situer quelque part dans le dossier de ton application (précisément, dans le dossier apps/app/templates/layout.php).

    C'est le squelette de ton site. En comparaison avec ce forum, ce layout contient tout ce qu'il y a en haut (du logo à la dernière ligne de boutons, avec les liens RSS, Twitter, FB) et ce qu'il y a en bas (responsables bénévoles et en bas). Ce qu'il y a entre les deux, c'est les actions de l'application qu'on pourrait appeler forum.

    Chaque action de chaque module possède son propre template en plus, c'est un squelette intermédiaire qui vient se mettre dans le squelette principal. Par exemple, tu auras une action index qui affichera l'index de ton site, qui aura dans son template des emplacements pour afficher les news, se connecter, afficher une liste de liens, etc.

    Chacun de ces éléments ne sera pas mis directement dans ton template (tu veux pouvoir changer des news qui seront en base de données sans changer ton template), tu récupéreras ces données dans ton action puis les afficheras dans ton template.

    Voilà déjà le terrain dégrossi.
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 10
    Points : 4
    Points
    4
    Par défaut
    Déjà merci pour tes réponses

    Pas une base SQL, ça ne veut rien dire, SQL étant le langage utilisé pour faire des requêtes. Dans ton cas, ça doit être MySQL, le plus répandu (à tort ou à raison, le débat doit déjà avoir eu lieu).
    Au temps pour moi, effectivement c'est bien une base MySQL.

    Il faut remplir ton fichier databases.yml (avec Doctrine du moins ; si tu n'utilises pas Doctrine, abandonne Propel et passe à Doctrine, ça vaudra mieux pour toi).
    Dans le tuto que j'ai suivit on utilise bien Doctrine donc jusque là je suis bon. J'ai a peu près saisi le fonctionnement pour la création du fichier, la mise en place de la relation avec la base.
    Je viens de voir que via phpMyAdmin on peut générer un fichier yml directement. Je viens de tester, ça fait un sacré fichier mais ça m'évite d'avoir à tout refaire.
    Par contre question, si demain je veux rajouter une table ou un champ quelconque, il faut que j'aille modifier le fichier databases.yml et ensuite tout recréer ? (via doctrine:build --sql, doctrine:insert-sql, etc) ?

    Chaque action de chaque module possède son propre template en plus, c'est un squelette intermédiaire qui vient se mettre dans le squelette principal. Par exemple, tu auras une action index qui affichera l'index de ton site, qui aura dans son template des emplacements pour afficher les news, se connecter, afficher une liste de liens, etc.
    Donc ça en fait c'est déjà le cas actuellement si on peut dire. J'ai mon squelette, et dans chaque page (exemple index) j'apelle un include php qui lui fait appel au CSS dedié.
    Donc si j'ai bien compris j'ai juste à garder mon ossature et à la réimplanter via Symfony ? maintenant reste à comprendre comment faire parce que j'avoue que le tuto Jobeet est pas super clair pour un novice

    En tout cas merci de prendre le temps de répondre à des questions que tu as surement déjà du voir 35.000 fois

  4. #4
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 619
    Points : 188 605
    Points
    188 605
    Par défaut
    Citation Envoyé par Gragar Voir le message
    Je viens de voir que via phpMyAdmin on peut générer un fichier yml directement. Je viens de tester, ça fait un sacré fichier mais ça m'évite d'avoir à tout refaire.
    Raté. Ça aurait été trop beau. Tu as un back-up de ta base, pas plus. Tu n'as pas vraiment un schéma comme Doctrine en veut un, ni de fixtures... Pour les fixtures, ça doit se faire facilement à coup de regex ; pour le schéma, il va falloir reprendre ça depuis ta base avec un import dans Doctrine ou refaire tout à la main. Je pencherais vers la deuxième solution (je sais que la première est possible mais sans plus, jamais essayé, ça semble plus faire des fichiers PHP de modèles, donc pas de formulaires ni d'admin generator...).

    Citation Envoyé par Gragar Voir le message
    Par contre question, si demain je veux rajouter une table ou un champ quelconque, il faut que j'aille modifier le fichier databases.yml et ensuite tout recréer ? (via doctrine:build --sql, doctrine:insert-sql, etc) ?
    Via
    symfony doctrine:build --all
    C'est mieux, tu es sûr que tout est généré. Mais ta base est effacée à chaque fois. D'où les fixtures, pour faire des tests facilement.

    L'avantage ? Tu as toujours tous tes modèles, tous tes formulaires, tous tes validateurs à jour, il suffit de vider le cache et tes modules de l'admin generator seront à jour.

    Citation Envoyé par Gragar Voir le message
    Donc ça en fait c'est déjà le cas actuellement si on peut dire. J'ai mon squelette, et dans chaque page (exemple index) j'apelle un include php qui lui fait appel au CSS dedié.
    Comme je le comprends, tu semble avoir plusieurs contrôleurs, un par page. C'est pas que c'est mauvais, c'est juste que ce n'est pas voulu par symfony et que je n'ai jamais réussi à apprécier ce genre d'architecture (tu peux notamment être attaqué de partout, il faut répéter à chaque fichier un paquet d'includes, etc.).

    Citation Envoyé par Gragar Voir le message
    Donc si j'ai bien compris j'ai juste à garder mon ossature et à la réimplanter via Symfony ? maintenant reste à comprendre comment faire parce que j'avoue que le tuto Jobeet est pas super clair pour un novice
    Il faudra sortir la dans tout ce que tu as fait, mettre ça en petits morceaux au bon endroit. Dès que tu vois quelque chose qui doit apparaître dans plusieurs pages, hop !, soit template si c'est statique, soit composant si c'est dynamique.

    Citation Envoyé par Gragar Voir le message
    En tout cas merci de prendre le temps de répondre à des questions que tu as surement déjà du voir 35.000 fois
    Ça ne fait pas six mois que j'ai essayé le framework, je suis loin d'avoir répondu 35 000 fois à ce genre de questions (mais 42...).
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 26
    Points : 15
    Points
    15
    Par défaut
    Citation Envoyé par Gragar Voir le message
    Je viens de voir que via phpMyAdmin on peut générer un fichier yml directement. Je viens de tester, ça fait un sacré fichier mais ça m'évite d'avoir à tout refaire.
    Coté Symfony/Doctrine cette commande ne serait-elle pas utile pour ce que tu veux faire ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    php symfony doctrine:build-schema
    Je débute aussi donc ...

    Bon courage en tout cas.

  6. #6
    Membre averti
    Inscrit en
    Août 2007
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 360
    Points : 396
    Points
    396
    Par défaut
    Bonjour,

    Exact...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    doctrine:build-schema
     
    doctrine:data-dump
    Cordialement,

    Mathieu

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 10
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par dourouc05 Voir le message
    Raté. Ça aurait été trop beau. Tu as un back-up de ta base, pas plus. Tu n'as pas vraiment un schéma comme Doctrine en veut un, ni de fixtures... Pour les fixtures, ça doit se faire facilement à coup de regex ; pour le schéma, il va falloir reprendre ça depuis ta base avec un import dans Doctrine ou refaire tout à la main. Je pencherais vers la deuxième solution (je sais que la première est possible mais sans plus, jamais essayé, ça semble plus faire des fichiers PHP de modèles, donc pas de formulaires ni d'admin generator...).



    Via
    symfony doctrine:build --all
    C'est mieux, tu es sûr que tout est généré. Mais ta base est effacée à chaque fois. D'où les fixtures, pour faire des tests facilement.

    L'avantage ? Tu as toujours tous tes modèles, tous tes formulaires, tous tes validateurs à jour, il suffit de vider le cache et tes modules de l'admin generator seront à jour.
    Alors en fait j'ai essayé de faire une base simple, avec juste une table news composée de 3 champs..
    J'ai fait le fichier schema.yml d'après la structure que j'avais dans l'exemple pour coller à ma base, mais quand j'ai voulu faire le fichier de fixture j'ai jamais réussi, chaque fois quand j'ai voulu le charger j'avais des erreurs. Donc je pense que je n'ai pas compris la methode pour le remplir

    Du coup comme entre temps bemyah et mathieu44800 ont posté (merci à vous deux ), j'ai testé leur méthode en reprenant ma base de départ et là ça a fonctionné niquel au niveau de la génération du fichier schema.yml.
    Par contre je n'arrive pas à faire un fichier fixture qui fonctionne

    J'ai suivi la "procédure" du tuto jobsheet, jusqu'à l'étape
    $ php symfony doctrine:generate-module --with-show --non-verbose-templates frontend job JobeetJob
    En remplaçant job et JobeetJob bien sur, tout a été generé, je n'ai pas eu d'erreur.
    Le répertoire apps\frontend\modules\test\actions et les autres fonctionnent bien, mais quand j'essaie d'afficher ma page dans le navigateur rien ne fonctionne.
    Bref je patauge. J'ai avancé un poil mais bon c'est toujours pas glop

  8. #8
    Membre averti
    Inscrit en
    Août 2007
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 360
    Points : 396
    Points
    396
    Par défaut
    doctrine:data-dump

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 10
    Points : 4
    Points
    4
    Par défaut
    Bon en fait j'avais pas été vérifié mais ma base avait été effacée. Donc dans les différentes manip entre le moment ou j'ai récup la base via doctrine:build-schema et doctrine:data-dump, et le moment ou j'ai créé les fichiers via $ php symfony doctrine:generate-module --with-show --non-verbose-templates frontend j'ai supprimé la base

    En fait j'avais loupé ce passage
    Exécutez la tâche doctrine:build --all --and-load pour s'assurer que tout est généré à partir de votre schéma. Cela va générer vos formulaires, vos filtres, vos modèles, supprimer votre base de données et re-créer toutes les tables.
    Sauf que le passage "recréer toutes les tables" n'a pas fonctionné.
    Donc j'ai rechargé ma base dans mysql et là ça fonctionne, comme dans l'exemple Job je peux ajouter / supprimer des news

  10. #10
    Membre averti
    Inscrit en
    Août 2007
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 360
    Points : 396
    Points
    396
    Par défaut
    et hop [Résolu]

  11. #11
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 10
    Points : 4
    Points
    4
    Par défaut
    Euh si on veut parce que là j'avoue que j'ai pas du tout compris la manière de faire. En fait si je refais tout depuis le départ, quand je fais un doctrine:data-dump j'ai plein d'erreur de partout
    Bref en fait on peut cloturer, je crois que Symfony c'est pas pour moi.
    Merci à vous 3

  12. #12
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 619
    Points : 188 605
    Points
    188 605
    Par défaut
    Citation Envoyé par Gragar Voir le message
    Bref en fait on peut cloturer, je crois que Symfony c'est pas pour moi.
    Tu as déjà fait l'effort d'essayer, ne t'arrête pas au premier obstacle. Sinon ton projet n'aboutira jamais, quel que soit le framework ou le langage.

    Quelles sont donc tes erreurs ?
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  13. #13
    Membre averti
    Inscrit en
    Août 2007
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 360
    Points : 396
    Points
    396
    Par défaut
    dourouc05 a raison, ne t'arrêtes pas en ci bon chemin...

    Aides toi et le ciel t'aidera !!!

  14. #14
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 10
    Points : 4
    Points
    4
    Par défaut
    Déjà merci pour vos encouragement et votre aide

    Bé en fait j'essaie de suivre le tuto Jobeet en modifiant pour mon cas.. et le soucis c'est que comme je ne comprend pas tout ce que je fais, ça bloque mais je ne comprend pas pourquoi.

    Si je récapitule ce qui est fait sur Jobeet
    - $ php symfony doctrine:build --model
    - $ php symfony doctrine:build --sql
    - $ php symfony doctrine:insert-sql

    Donc là on crée le modèle depuis le fichier yml puis tout ce qui touche à sql puis on insert dans la base.
    Moi si j'ai bien compris, cette étape je ne le fait pas étant donné que j'ai déjà ma base (donc fonctionnement inverse).

    Ma table News étant sous la forme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    id 	int(11) Index 	
    date 	date 			
    titre 	text 	latin1_general_ci 		
    texte text 	latin1_general_ci
    Donc je fais un doctrine:build-schema puis doctrine:data-dump. Jusqu'ici tout se déroule bien, aucun message d'erreur.

    Mon fichier schema.yml se présente comme ça
    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
    News:
      connection: doctrine
      tableName: news
      columns:
        id:
          type: integer(4)
          fixed: false
          unsigned: false
          primary: false
          notnull: true
          autoincrement: true
        date:
          type: date(25)
          fixed: false
          unsigned: false
          primary: false
          notnull: true
          autoincrement: false
        titre:
          type: string()
          fixed: false
          unsigned: false
          primary: false
          notnull: true
          autoincrement: false
        texte:
          type: string()
          fixed: false
          unsigned: false
          primary: false
          notnull: true
          autoincrement: false
    Déjà, avant d'aller plus loin, est-ce bon à ce niveau ?
    Par contre mon fichier fixture reste vide lui

  15. #15
    Membre averti
    Inscrit en
    Août 2007
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 360
    Points : 396
    Points
    396
    Par défaut
    Tu dois faire un :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    doctrine:build-model
    doctrine:build-forms
    doctrine:build-filters
    Afin d'avoir les classes nécessaires à ton développement (par rapport à ta base de données)

    Je te conseilles d'utiliser un EDI (style NetBeans ou Eclipse).

  16. #16
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 10
    Points : 4
    Points
    4
    Par défaut
    Merci

    Excuse ma question qui vas te paraitre bête mais quel est l'intérêt de l'EDI à ce niveau ?

    Est-ce que vous pourriez me donner, avec l'exemple de ma base, la structure du fichier fixtures.yml pour mon cas ? car j'avoue que je ne comprend pas ou ça bloque

  17. #17
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 619
    Points : 188 605
    Points
    188 605
    Par défaut
    Petite note : les balises CODE sont faites pour du code, les balises QUOTE sont faites pour des citation .

    Ensuite, tu peux modifier le schéma pour obtenir une version lisible :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    News:
      columns:
        date: date(25)
        titre: string()
        texte: string()
    C'est déjà plus lisible. Si tu dois impérativement travailler avec la base que tu avais avant, c'est en général déconseillé d'utiliser ce genre de schéma (il pourrait y avoir des petits détails qui sont passés à la trappe ; de toute façon, dans ton cas, tu peux certainement repartir d'une base toute faite par Doctrine et utiliser entièrement ces schémas simplifiés, ce sera déjà beaucoup plus facile de faire des modifications plus tard dans ton schéma), mais tu avoueras que, ça, c'est lisible !

    Ensuite, pour construire tous tes fichiers, tant que tu travailles sur une base de test, un petit symfony doctrine:build --all, une seule commande à taper, la certitude que tout correspond à ton schéma (base de données effacée à chaque fois, puis tout régénéré depuis zéro).

    Sinon, ne te sens pas obligé d'utiliser un EDI, ça peut être très pratique (autocomplétion de tout ce qui concerne symfony, documentation intégrée, commandes préconfigurées) mais je n'ai jamais réussi à prendre en main un EDI pour PHP ! (Et puis, Notepad++ avec la console, ça fait quand même plus geek ²).
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  18. #18
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 10
    Points : 4
    Points
    4
    Par défaut
    Désolé pour les balises quote et merci pour la mise en page c'est clair que c'est plus lisible.

    Effectivement le mieux serait certainement de repartir de 0 via Doctrine..
    Le problème c'est que je ne me sens pas assez bon pour pouvoir faire ça "a la main". Du genre là par exemple je veux rajouter un champ à ma table news, ok, ça roule pas de soucis. Mais si je veux rajouter une autre table ? je rajoute juste à la suite genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    News:
      columns:
        date: date(25)
        titre: string()
        texte: string()
     
    Personnage:
       columns:
         nom: string()
         adresse_mail: string()
         points_de_vie : int()
    etc etc
    Si c'est ça à la limite ça posera pas de soucis mais j'ai peur que ça ne soit pas aussi simple..
    Et du coup, quand je veux rajouter / modifier quelque chose, je fait la modif dans le fichier yml, je colle un petit symfony doctrine:build --all et hop la base est mise à jour ?

    Edit : ha ba oui j'ai testé ça fonctionne en fait
    Par contre est-ce que vous pourriez me donner un exemple pour le fichier fixtures.yml ? merci

    Pour l'EDI si ça a vraiment une utilité pourquoi pas. A l'heure actuelle j'utilise Notepad ++ ça me convenait bien

  19. #19
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 619
    Points : 188 605
    Points
    188 605
    Par défaut
    Citation Envoyé par Gragar Voir le message
    Si c'est ça à la limite ça posera pas de soucis mais j'ai peur que ça ne soit pas aussi simple..
    Et du coup, quand je veux rajouter / modifier quelque chose, je fait la modif dans le fichier yml, je colle un petit symfony doctrine:build --all et hop la base est mise à jour ?
    Pourquoi voudrais-tu que ce soit plus compliqué ? Le problème va venir quand tu voudras des relations dans ta base. Dans ce cas, il suffit de nommer le champ dans la table qui devra avoir le lien vers une autre (un article, par exemple) en prenant le nom de la table cible (category) et en y ajoutant _id (category_id). Un petit detect_relations: true au début de ton schéma et c'est parfait.

    Avec cette commande, tous tes fichiers liés à la base seront à jour, en plus de la base. Toute modification personne (y compris entrées dans la base) seront perdues, ne l'oublie pas (non, cas jamais vécu, strictement jamais ).
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  20. #20
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 10
    Points : 4
    Points
    4
    Par défaut
    Héhé on sent le vécu

    Alors je comprend bien l'intérêt de mettre tout à jour à chaque fois, mais perso ça va me poser problème.
    Le jeu permet de faire évoluer des territoires et des attaques sans que l'on soit connecté (on lance, et au rafraichissement de la page, ça calcule et met à jour). Donc si chaque fois que je fais la moindre modif ça efface tout la base.. bonjour le souk. Parce que pour avancer tranquillement je me crée plusieurs persos, et je fais des tests. Et là du coup pour tester / débuguer c'est impossible.. si chaque fois les attaques, les matériaux, les persos, tout est effacé
    Et de plus j'ai quelques amis qui jouent les beta testeurs donc idem, faut pas qu'a chaque modif la base en ligne soit remise à 0 sinon bonjour la prise de tête

Discussions similaires

  1. [2.x] J'ai besoin de vos conseils pour débuter avec Symfony 2
    Par beegees dans le forum Symfony
    Réponses: 4
    Dernier message: 12/12/2013, 22h33
  2. [2.x] Débuter avec le framework SYMFONY
    Par adissa357 dans le forum Symfony
    Réponses: 4
    Dernier message: 21/06/2013, 17h55
  3. [1.x] débuter avec un projet symfony avec Xampp
    Par safa.nasich dans le forum Symfony
    Réponses: 4
    Dernier message: 28/06/2011, 20h17
  4. [Delphi 7] Questions pour débuter avec les bases de données
    Par DamKre dans le forum Bases de données
    Réponses: 6
    Dernier message: 25/09/2007, 16h06
  5. Quelques questions pour débuter avec FOP
    Par lr dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 08/04/2006, 13h09

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