jay's help to create

Aller au contenu | Aller au menu | Aller à la recherche

jeudi, mars 31 2011

Les relations many to many avec doctrine et symfony 1.4

Ca fait longtemps (très longtemps) que je n’avais pas écrit sur ce blog.

J’ai eu l’occasion de passer à symfony 1.4 depuis et de voir les changements.
Le plus gros d’entre eux c’est bien sur de passer de l’ORM propel à l’ORM doctrine.

Il faut revoir pas mal de ses habitudes, mais il faut avouer que les relations et les formulaires imbriqués sont bien mieux gérés maintenant.
Enfin à condition de bien concevoir son schema.yml.

C’est là le principal problème, si le schéma est bien fait, symfony fait tout automatiquement. Sinon il faut tout le temps bricoler.
Ors, j’ai lut beaucoup de solutions qui merdaient d’une façon ou d’une autre avant de trouver celle qui répondait vraiment à mes besoins.

Voici donc un exemple de relation en many-to-many dans le schema.yml :

 

[php]Site:
  columns:
    id:
      type: integer(4)
      primary: true
      notnull: true
      autoincrement: true
    url:
      type: varchar(255)
      notnull: true
    libelle:
      type: varchar(255)
      notnull: true
  relations:
    Lien:
      class: Site
      local: site_id
      foreign: lien_id
      refClass: LienSite
      onDelete: CASCADE
Lien:
  columns:
    id:
      type: integer(4)
      primary: true
      notnull: true
      autoincrement: true
    url:
      type: varchar(255)
      notnull: true
      unique: true
    libelle:
      type: varchar(255)
      notnull: true
    description:
      type: string(128)
  relations:
    Site:
      class: Lien
      local: lien_id
      foreign: site_id
      refClass: LienSite
      onDelete: CASCADE
 
LienSite:
  tableName: site_has_lien
  columns:
    site_id:
      type: integer(4)
      primary: true
    lien_id:
      type: integer(4)
      primary: true
  indexes:
    fk_site_has_lien_lien1:
      fields: [lien_id]
    fk_site_has_lien_sites1:
      fields: [site_id]

 

 

Pour les deux tables concernées, on ajoute donc les relations vers l’autre table, en indiquant la table servant de référence entre les deux

 [php]relations:
    Site:                                            # le nom de la relation, il sera utilize lors
de l’appel du formulaire par l’admin generator par exemple. 
      class: Lien                              #La classe à laquelle se réfere votre relation, dans une relation many to many, c’est la même classe (Lien pour une relation dans la table lien etc…)
      local: lien_id                        # l’id qui represente la primary key de cette table dans la table référence
      foreign: site_id                  # l’id de l’autre table en relation représenté dans la table de reference
      refClass: LienSite              # la table de référence
      onDelete: CASCADE        # une contrainte classique pour éviter les problèmes ;)
 

Si on s’y prend comme cela, il n’y a ensuite plus rien à faire dans les formulaires, tout est géré automatiquement.
Le seul réglage dans mon cas est de rendre un champs unset dans un des deux cas, si je ne veux pas que le champs de lien s’affiche sur le formulaire des sites…

Vous aurez donc un widget « site_list » dans votre formulaire lien, et un widget « lien_list » dans votre formulaire site.

lundi, octobre 18 2010

You see mii - surveillez votre visibilité sur le web

YouSeeMII est un nouveau service complémentaire d’Alexa et autre service de benchmarking.
Il vous suffit de rentrer un mot clef, un nom ou une marque pour voir apparaître les résultats de recherche sur les principaux réseaux sociaux, les principaux moteurs de recherche, ainsi que dans les principaux services de presse.

Enfin un outil simple et agréable pour que chacun puisse gérer son e-réputation.

Lire la suite...

lundi, octobre 11 2010

Free globes, script d'annuaire open source PHP/Mysql

Freeglobes est un de ces scripts qui nous font aimer l’open source. 
Avec lui on peut créer un annuaire php/Mysql très rapidement, avec des thèmes qui correspondent à nos besoins spécifiques.

Concurrent d’Arfoo, c’est lui que j’ai choisi pour mon dernier projet, voici mon avis après installation.

Lire la suite...

lundi, juillet 12 2010

Développez votre site web : les conseils utiles

Aujourd’hui c’est un e-book que je vous propose.
Cette ouvrage rassemble les bases des techniques a suivre pour réussir un site WEB. 
En suivant ces conseils vous pourrez éviter la plupart des erreurs communes du débutant webmaster.
Pour les plus expérimentés. C’est toujours bon de se remettre certaines choses en tête, et de critiquer les autres ;) ! 

Lire la suite...

mardi, juin 29 2010

Tutoriel Symfony - L'aide indispensable à la création d'une application Symfony

Tous ceux qui travaillent avec Symfony le savent ! Ce Framework est difficile à prendre en main.
Il faut l’appréhender, le comprendre et quand on débute, l’installation et les principes de bases sont effrayants !

Surtout que la doc en Français est quasi inexistante.
J’ai donc essayé de faire une première approche, la plus complète possible pour comprendre Symfony.
Plus qu’un tutoriel, c’est un cours à garder à ses côtés lorsqu’on développe nos premières applications (et même après…)
L’introduction est tirée de Developpez.com, la suite de mon expérience personnelle sur Symfony 1.2.
Certaines fonctions peuvent donc avoir évolué depuis.

Bienvenue dans l’univers Symfony, souffrez (un peu) et profitez (beaucoup) !

Lire la suite...

- page 1 de 4

Générateur de miniatures