Symfony2-Tips : Différence entre versions

De DiouxX's Wiki
Aller à : navigation, rechercher
(Page créée avec « {{Introduction | Cette page sert d'aide mémoire pour les différentes commandes que l'on peut utiliser avec Symfony2}} == Générer une entitée == <br> {{ Console | 1=p... »)
 
m (Création d'un bundle)
 
(3 révisions intermédiaires par 2 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
{{Introduction | Cette page sert d'aide mémoire pour les différentes commandes que l'on peut utiliser avec Symfony2}}
+
{{Introduction | Aide-mémoire sur Symfony2}}
  
== Générer une entitée ==
+
== Bundle ==
 +
=== Création d'un bundle ===
 +
La création d'un bundle est assez simple et se fait de manière interactive via la console:
 
<br>
 
<br>
{{ Console | 1=php app/console generate:doctrine:entity }}
+
{{ Console | php bin/console generate:bundle }}
 
<br>
 
<br>
  
<pre>
+
* Ensuite, il faut répondre aux différentes questions :
      Welcome to the Doctrine2 entity generator
+
* Are you planning on sharing this bundle across multiple applications? : Oui si on désire de partager le bundle dans d'autres applications.<br>
 +
* Bundle name : le nom du bundle. Attention que celui-ci doit commencer par une majuscule et se terminer par Bundle<br>
 +
* Target directory : dossier de génération du Bundle. Usuellement dans src/<br>
 +
* Configuration format : choisir [[annotation]]. Les prochaines descriptions sur ce wiki seront en format annotation. Les autres formats sont plus lourds.
  
 +
Dans le cas de l'exemple, l'exécution de generate:bundle est situé dans bin/console (version3). Pour la version 2, utiliser app/console.
  
 
+
== Cache ==
    This command helps you generate Doctrine2 entities.
+
=== Vider le cache ===
 
+
<br>
    First, you need to give the entity name you want to generate.
+
{{ Console | php app/console cache:clear }}
    You must use the shortcut notation like AcmeBlogBundle:Post.
+
<br>
 
 
    The Entity shortcut name:_
 
</pre>
 
 
 
Grâce à ce que le générateur vous dit, vous l'avez compris, il faut entrer le nom de l'entité sous le format ''NomBundle:NomEntité''. Dans notre cas, on entre donc {{ File | 1=OCPlatformBundle:Advert}}.
 
 
 
<pre>
 
    The Entity shortcut name: OCPlatformBundle:Advert
 
 
 
    Determine the format to use for the mapping information.
 
 
 
    Configuration format (yml, xml, php, or annotation) [annotation]:_
 
</pre>
 
 
 
Comme je vous l'ai dit, nous allons utiliser les annotations, qui sont d'ailleurs le format par défaut. Appuyez juste sur la touche '''Entrée'''.
 
 
 
<pre>
 
    Configuration format (yml, xml, php, or annotation) [annotation]:
 
 
 
    Instead of starting with a blank entity, you can add some fields now.
 
    Note that the primary key will be added automatically (named id).
 
 
 
    Available types: array, simple_array, json_array, object,
 
    boolean, integer, smallint, bigint, string, text, datetime, datetimetz,
 
    date, time, decimal, float, blob, guid.
 
 
 
    New field name (press <return> to stop adding fields):_
 
</pre>
 
 
 
On commence à saisir le nom de nos champs. Lisez bien ce qui est inscrit avant : Doctrine2 va ajouter automatiquement l'id, de ce fait, pas besoin de le redéfinir ici. On entre donc notre date : date.
 
 
 
<pre>
 
    New field name (press <return> to stop adding fields): date
 
    Field type [string]:_
 
</pre>
 
 
 
C'est maintenant que l'on va dire à Doctrine à quel type correspond notre propriété date. La liste des types possibles vous est donné par Symfony juste au dessus. Nous voulons une date avec les informations de temps, tapez donc datetime.
 
 
 
Répétez les points 3 et 4 pour les propriétés title, author et content. title et author sont de type string de 255 caractères (pourquoi pas). Content est par contre de type text.
 
 
 
<pre>
 
    New field name (press <return> to stop adding fields): date
 
    Field type [string]: datetime
 
 
 
    New field name (press <return> to stop adding fields): title
 
    Field type [string]: string
 
    Field length [255]: 255
 
 
 
    New field name (press <return> to stop adding fields): author
 
    Field type [string]: string
 
    Field length [255]: 255
 
 
 
    New field name (press <return> to stop adding fields): content
 
    Field type [string]: text
 
 
 
    New field name (press <return> to stop adding fields):_
 
</pre>
 
 
 
Lorsque vous avez fini, appuyez sur la touche Entrée.
 
 
 
<pre>
 
    New field name (press <return> to stop adding fields):
 
 
 
    Do you want to generate an empty repository class [no]?_
 
</pre>
 
 
 
Oui, on va créer le repository associé, c'est très pratique, nous en reparlerons largement. Entrez donc yes.
 
 
 
Confirmez la génération, et voilà !
 
 
 
<pre>
 
    Do you want to generate an empty repository class [no]? yes
 
 
 
 
 
      Summary before generation
 
 
 
 
 
    You are going to generate a "OCPlatformBundle:Advert" Doctrine2 entity
 
    using the "annotation" format.
 
 
 
    Do you confirm generation [yes]?
 
 
 
 
 
      Entity generation
 
 
 
 
 
    Generating the entity code: OK
 
 
 
 
 
      You can now start using the generated code!
 
 
 
 
 
 
 
    C:\wamp\www\Symfony>_
 
</pre>
 
 
 
Allez tout de suite voir le résultat dans le fichier Entity/Advert.php. Symfony2 a tout généré, même les getters et les setters ! Vous êtes l'heureux propriétaire d'une simple classe… avec plein d'annotations !
 
  
 
[[Catégorie:Symfony2]]
 
[[Catégorie:Symfony2]]

Version actuelle datée du 4 mai 2016 à 14:24

Aide-mémoire sur Symfony2

Bundle

Création d'un bundle

La création d'un bundle est assez simple et se fait de manière interactive via la console:

Konsole.png
[user@ordi ~]$ php bin/console generate:bundle


  • Ensuite, il faut répondre aux différentes questions :
  • Are you planning on sharing this bundle across multiple applications? : Oui si on désire de partager le bundle dans d'autres applications.
  • Bundle name : le nom du bundle. Attention que celui-ci doit commencer par une majuscule et se terminer par Bundle
  • Target directory : dossier de génération du Bundle. Usuellement dans src/
  • Configuration format : choisir annotation. Les prochaines descriptions sur ce wiki seront en format annotation. Les autres formats sont plus lourds.

Dans le cas de l'exemple, l'exécution de generate:bundle est situé dans bin/console (version3). Pour la version 2, utiliser app/console.

Cache

Vider le cache


Konsole.png
[user@ordi ~]$ php app/console cache:clear