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 :

Tutoriel pour débuter avec Symfony2 [Tutoriel]


Sujet :

Symfony PHP

  1. #61
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 146
    Points : 262
    Points
    262
    Par défaut
    Aucun rapport bien au contraire

    Faire hériter ses contrôleur de la classe contrôleur facilite le dev pour bien des raisons comme entre autres les annotations pour le routing ou le templating et bien d'autre.

    Quand a l'injection de dépendance on parle plutôt du fait de passer les services entre eux par paramètres. Le fait d'utiliser le container->get a des avantages en lisibilités mais le gros défaut de coder en dur des références textuelle vers des services.
    Si pour x raison tu doit changer un nom de service pour éviter un conflit ou autre, tu doit faire du rechercher remplacer dans tout ton code et tu perds tout l’intérêt de la chose.

    Il y a de nombreux débats sur le sujet des DI et les avantages inconvénients.

  2. #62
    Membre averti

    Inscrit en
    Juin 2008
    Messages
    307
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 307
    Points : 364
    Points
    364
    Par défaut
    Citation Envoyé par djayp Voir le message
    Cette méthode n'est pas conseillée car elle enlève toute la flexibilité de l'injection de dépendance...
    A++
    Je suis pas expert symfony 2, la seule chose que j'ai constaté c'est que partout dans la doc du framework, c'est comme ça, ça raccourcit pas mal la syntaxe et en parcourant les classe, ça ne charge que les service doctrine / template et formulaire.
    Et sinon je ne connais pas en détail, l'injection de dépendance, mais en quoi ça enlève la flexibilité ? Car ca charge tout un tas de service d'un coup ?

  3. #63
    Membre éclairé
    Avatar de djayp
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 295
    Points : 687
    Points
    687
    Par défaut
    Disons que cela fait partie des bonnes pratiques et des recommandations données par les développeurs de Symfony2 eux-mêmes. Je fais notamment référence à ce diaporama (voir diapos 37 à 46) :
    [ame="http://www.slideshare.net/noelguilbert/symfony2-30-astuces-et-bonnes-pratiques"]Symfony2: 30 astuces et bonnes pratiques@@AMEPARAM@@ssplayer2.swf?doc=presentation2-110306052705-phpapp01&stripped_title=symfony2-30-astuces-et-bonnes-pratiques@@AMEPARAM@@presentation2-110306052705-phpapp01@@AMEPARAM@@symfony2-30-astuces-et-bonnes-pratiques[/ame]

    Après c'est un effectivement un long débat pour savoir quelle est la meilleure méthode... Je dirais simplement : à chaque développeur de choisir !

    A++

  4. #64
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 146
    Points : 262
    Points
    262
    Par défaut
    Ces documents date des versions PR et ont bien changé depuis

    Pour les contrôleurs l'héritage depuis la classe est vraiment recommandée (cf toutes les docs officielles).

    Pour le DI et le pour contre effectivement ça dépends des gens.

  5. #65
    Candidat au Club
    Webmaster amateur
    Inscrit en
    Septembre 2011
    Messages
    3
    Détails du profil
    Informations professionnelles :
    Activité : Webmaster amateur

    Informations forums :
    Inscription : Septembre 2011
    Messages : 3
    Points : 4
    Points
    4
    Par défaut Merci pour le tuto et besoin d'un peu d'aide sur un truc
    Bonjour djayp,

    Je suis nouveau et aussi débutant symfony 2 et je tien a te remercier pour ce magnifique tuto qui m'aide beaucoup dans l'apprentissage de ce framework, pour moi tout marche nickel c'est super .

    Mais j'aimerai savoir, comment faire lors de l'affichage de la liste des films pour afficher en plus dans une colonne les catégories associer à chaque film?

    Est-ce qu'il y a une syntaxe twig spécifique? j'ai essayer {{ f.categorie }} mais sans succès.
    Ou bien on ne peux pas accéder à cette valeur avec cette façon de récupérer la liste des films dans la DB ( $films = $em->getRepository('MyAppFilmothequeBundle:Film')->findAll(); ).

    J'ai cherché un peu dans la doc mais rien trouvé, surement dû a mon niveau plus que moyen en anglais. Si quelqu'un pouvais m'aider sa serai super, et sa me permettrai d'avancer un peu parce que là je bloque.

    Je remercie d'avance ce qui liront se poste et plus encore ce qui pourront m'aider.

  6. #66
    Membre éclairé
    Avatar de djayp
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 295
    Points : 687
    Points
    687
    Par défaut
    Salut,

    Normalement tu dois pouvoir y accéder simplement avec le code suivant :

    A++

  7. #67
    Candidat au Club
    Webmaster amateur
    Inscrit en
    Septembre 2011
    Messages
    3
    Détails du profil
    Informations professionnelles :
    Activité : Webmaster amateur

    Informations forums :
    Inscription : Septembre 2011
    Messages : 3
    Points : 4
    Points
    4
    Par défaut Merci beaucoup pour ton aide
    Merci djayp, pour la réponse super rapide sa marche nickel.

    Quand on regarde la solution c'est super logique en faite, j'ai un peu honte de pas l'avoir trouvé tout seul.

    En tout cas, merci beaucoup t'es le meilleur.

  8. #68
    Nouveau membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Janvier 2011
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Janvier 2011
    Messages : 34
    Points : 31
    Points
    31
    Par défaut
    Salut, moi mon probleme vient du fait que j'ai rajouter dans mon UserBundle/Entity/User

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    use Symfony\Component\Validator\Constraints as Assert;
    les @Assert: ou @Assert\

    Rien n'est pris en compte :s

  9. #69
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    J'avais l'habitude d'utiliser Symfony 1.4, et ce tuto est très bien pour franchir le pas vers Symfony 2. Un peu de théorie et de la pratique, c'est ce qu'il faut.

    A mon avis il manque juste deux petites choses :
    • Un début d'initiation aux classes Repository. Dans ce tuto, la logique métier à trop tendance à se retrouver dans le contrôleur. Même si, je suis d'accord, tu effectue des traitements métier simples, et que leur présence dans les contrôleurs ne gène pas trop, il aurait été intéressant de parler des classes Repository, pour avoir une approche complète du MVC.
    • Une petite approche des validateurs pour les formulaires


    Sinon, je me posais des questions à propos de choses que je ne retrouve pas dans Symfony 2 et que je trouvais très utiles dans Symfony 1.4 : Les partials et les components.
    Ils me semble avoir disparus dans Symfony 2, et était très intéressants pour ne pas avoir à dupliquer du code dans les templates.
    J'ai fait des recherches la dessus, j'ai rien trouvé de très cohérent, a par peut être une petite piste indiquant qu'ils étaient gérables avec Twig, mais je n'ai pas trouvé d'info très parlantes.
    Donc si vous pouvez me mettre sur une piste, n'hésitez pas .

    Bonne continuations à tous avec Symfony,
    Greg !

  10. #70
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 683
    Points : 2 579
    Points
    2 579
    Par défaut
    Dans le cookbook, partie "templates" : http://symfony.com/doc/current/book/templating.html

    La réutilisabilité est évoquée à travers l'héritage ou l'appel d'un contrôleur dans le template.

  11. #71
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2011
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2011
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Bonjour à tous,
    je suis actuellement ce tutoriel qui est assez clair et concis.
    Toutefois, je me trouve confronté à un petit problème.
    Je suis à la génération automatique des accesseurs. Et la console fait des siennes
    php app/console doctrine:generate:entities MyApp
    me retourne
    Namespace "MyApp" does not contain any mapped entities

    doctrine:generate:entities [--path="..."] [--no-backup] name
    Je me doute que ce soucis vient d'une configuration quelque part. Mais impossible de mettre la main dessus. Cela vous est-il déjà arrivé?
    Auriez-vous une solution à m'apporter?

    Je vous remercie
    Julien

    PS: j'ai comparé mon code avec la partie concernée dans les fichiers sources mais je n'ai pas trouvé de différences.

  12. #72
    Futur Membre du Club
    Inscrit en
    Août 2009
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 13
    Points : 9
    Points
    9
    Par défaut
    Bonjour,

    Ayant ramé pendant près de 20m, je tiens à apporter quelques précisions qu'il me semble essentiel de préciser.

    Lors de la génération des get() et set(), j'étais confronté à une erreur fatale sur le namespace. Alors que tout était bon, impossible de compiler.

    Deux raisons :
    - Utilisant Notepad++, il utilise l'UTF8 ou le ANSI qui ne fonctionne pas. Il est nécessaire d'utiliser UTF8 (Sans BOM)
    - Deuxièmement, même avec le bon encodage cela ne fonctionnait toujours pas. En effet, la première ligne des 3 entités est une ligne vide... qui fait planter la compilation. Il est nécessaire que la première ligne soit <?php ou bien la génération des get() / set() ne fonctionne pas.

    Espérant épargner ces soucis à m'en arracher les cheveux à d'autres, je vous conseille de mettre un encart là dessus...

    Cordialement

    P.S : Merci pour le tutoriel

  13. #73
    Membre à l'essai
    Inscrit en
    Novembre 2011
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Novembre 2011
    Messages : 10
    Points : 12
    Points
    12
    Par défaut Doctrine et données XML ?
    Ainsi, nous pourrions très bien stocker nos films et acteurs dans des fichiers XML, dans une base SQLite ou MySQL, sans que cela ne change quoi que ce soit au code PHP que nous allons écrire.
    Cette remarque m'a beaucoup intéressée, car c'est très exactement ce que je cherche à faire, à utiliser des données stockées en XML plutôt qu'en base de données. Cependant, impossible de trouver de la documentation à ce sujet, y compris dans la doc de doctrine.
    Est-ce une erreur du tutoriel ou est-ce réellement possible et auquel cas, comment ?
    Merci par avance.

  14. #74
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    Citation Envoyé par Cybeber Voir le message
    Cette remarque m'a beaucoup intéressée, car c'est très exactement ce que je cherche à faire, à utiliser des données stockées en XML plutôt qu'en base de données. Cependant, impossible de trouver de la documentation à ce sujet, y compris dans la doc de doctrine.
    Est-ce une erreur du tutoriel ou est-ce réellement possible et auquel cas, comment ?
    Merci par avance.
    c'est dans le sans ou les Entites sont très souple, tu pourrais etrendre un Entity a une classe qui gère le XML

  15. #75
    Membre à l'essai
    Inscrit en
    Novembre 2011
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Novembre 2011
    Messages : 10
    Points : 12
    Points
    12
    Par défaut
    c'est dans le sans ou les Entites sont très souple, tu pourrais etrendre un Entity a une classe qui gère le XML
    Merci bien pour la réponse... Ca me donnée une idée du boulot que ça demanderait... Du coup, à défaut de recourir à doctrine, Symfony propose-t-il une gestion particulière des fichiers XML ou le développement d'un bundle spécifique est-il nécessaire ? Et dans ce cas, à votre avis, qu'elle est la meilleure option ?

  16. #76
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    Citation Envoyé par Cybeber Voir le message
    Merci bien pour la réponse... Ca me donnée une idée du boulot que ça demanderait... Du coup, à défaut de recourir à doctrine, Symfony propose-t-il une gestion particulière des fichiers XML ou le développement d'un bundle spécifique est-il nécessaire ? Et dans ce cas, à votre avis, qu'elle est la meilleure option ?
    dans Symfony2 le XML c'est uniquement lié au config, donc oui je pense qu'il va falloir créer un bundle, je vais essayé dans faire un, ça me semble intéressant comme projet

  17. #77
    Membre à l'essai
    Inscrit en
    Novembre 2011
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Novembre 2011
    Messages : 10
    Points : 12
    Points
    12
    Par défaut
    dans Symfony2 le XML c'est uniquement lié au config, donc oui je pense qu'il va falloir créer un bundle, je vais essayé dans faire un, ça me semble intéressant comme projet
    Après une recherche rapide, je n'ai pas trouvé de bundle déjà fait, ça me surprend un peu... Il existe tout de même un projet sous doctrine OXM assez enthousiasmant.
    Mais en attendant, je crois que je n'ai pas trop le choix si je veux continuer avec Symfony2.
    Je découvre juste et c'est la première fois que mon enthousiasme est un peu douché, bref, je vais tenter quelque chose aussi, dès que je serais un peu plus alaise, je contribuerais avec plaisir à un projet un peu sophistiqué si ça te dit.

  18. #78
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    Citation Envoyé par Cybeber Voir le message
    Après une recherche rapide, je n'ai pas trouvé de bundle déjà fait, ça me surprend un peu... Il existe tout de même un projet sous doctrine OXM assez enthousiasmant.
    Mais en attendant, je crois que je n'ai pas trop le choix si je veux continuer avec Symfony2.
    Je découvre juste et c'est la première fois que mon enthousiasme est un peu douché, bref, je vais tenter quelque chose aussi, dès que je serais un peu plus alaise, je contribuerais avec plaisir à un projet un peu sophistiqué si ça te dit.
    Je doute qu'un autre framework le fasse, faire de la base de donnée avec de XML c'est pas très commun et pas très économique en ressource, si tu n'as pas de base de donnée utilise du Sqlite, sinon je pense que c'est assez simple d'utiliser OXM avec Symfony2

  19. #79
    Membre à l'essai
    Inscrit en
    Novembre 2011
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Novembre 2011
    Messages : 10
    Points : 12
    Points
    12
    Par défaut
    Citation Envoyé par stealth35 Voir le message
    Je doute qu'un autre framework le fasse, faire de la base de donnée avec de XML c'est pas très commun et pas très économique en ressource, si tu n'as pas de base de donnée utilise du Sqlite, sinon je pense que c'est assez simple d'utiliser OXM avec Symfony2
    Je n'ai pratiqué que Zend comme autre framework et il ne permet pas non plus de manipuler du xml à la base. C'est plutôt de la part de doctrine que cela me surprend, XML est bien pratique pour interfacer des services et je suis étonné qu'il n'y ait pas de solution pour en générer à partir d'un modèle et vice-versa... hors OXM mais qui n'est pas finalisé... Après c'est vrai que ce n'est pas le but de doctrine, j'ai pris mes désirs pour la réalité

    Après, si ce n'est pas rationnel de stocker des données extensibles en XML, en revanche, pour stocker de 50 à 100ko de données réparties sur une douzaine de tables/fichiers, je trouve que c'est plutôt pratique... Et pour pas mal de projet, c'est un complément aux ressources en base que je trouve souvent opportun.

    Bref, vu qu'OXM est en stand-by depuis mars, au final, ta solution me parait la plus adapté à court terme, d'autant que je n'ai pas besoin de méthode bien subtile. Ne comprenant pas encore bien les mécanismes des modèles Symfony, je n'ai pas certitude sur l'approche à adopter, mais ça donne une occasion de se pencher dessus...
    En tout cas, merci pour les conseils !

  20. #80
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    en complément de mini base, je m’embête pas j'utilise le sqlite, c'est très simple à mettre en place (en plus avec Doctrine)

Discussions similaires

  1. Cours et tutoriels pour débuter avec SAP
    Par birdy85 dans le forum SAP
    Réponses: 22
    Dernier message: 14/09/2016, 21h37
  2. Quel livre ou tutoriel pour débuter avec DOT.NET
    Par trent94 dans le forum Débuter
    Réponses: 16
    Dernier message: 09/02/2012, 16h46
  3. Tutoriel pour débuter rapidement avec les Windows.Forms ?
    Par Leelith dans le forum Windows Forms
    Réponses: 6
    Dernier message: 03/12/2008, 14h25
  4. [Portlet] Tutoriel pour débuter avec les portlets
    Par AbdeL02 dans le forum Portails
    Réponses: 7
    Dernier message: 20/08/2008, 00h24

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