Symfony : petite découverte pour débutants

Bien qu’utilisant symfony (un peu) depuis quelques mois, il y a une fonctionnalité généré par propel, lors du la construction du modèle, que je vient de découvrir.

Pour la décrire, revenons un peu sur la base:
Si je créer un super application de recette de cuisine en ligne, je commence par décrire mon modèle dans schema.yml :
Propel:
user:
id:
name:
recipe:
id:
user_id:
title:
ingredient:
id:
title:
recipe_id:

Jusque là rien de miraculeux. On fait passer ça dans la moulinette propel:build-model et hop !
Ce que je connaissais déja, c’est accéder à un objet parent genre :
// http://myawsomeapp.tld/recipe/view/id/235
$recipe = RecipePeer::retrieveByPk($request->getParameter('id));
$author = $recipe->getUser();

Là déjà c’était génial. Le framework est capable de générer, pour un objet, une fonction qui permet d’accéder aux objets vers lesquels il pointe (souvenez vous le user_id).
Ce que je vient de découvrir (tardivement) c’est que la manip inverse est tout aussi vrai.
$inredients = $recipe->getIngredients()
(vous remarquerez le s)
Et voila !

ps : certes ceci est basique, mais n’ayant jamais eu trop le temps de bosser la doc de propel et n’ayant pas encore éplucher aux petit oignons le code généré par celui-ci, je ne découvre ceci qu’aujourd’hui et j’applaudis :)
ps2 : la balise <code> ne gère pas l’indentation apparemment. n’oubliez pas les espaces dans le schema.yml !

Tags: devloppement, symfony, tips

Related posts