Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > symfony
symfony Forum d'entraide sur le framework PHP symfony. Avant de poster : cours symfony et FAQ symfony
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/12/2011, 09h43   #1
Futur Membre du Club
 
FX
Inscription : juillet 2010
Messages : 75
Détails du profil
Informations personnelles :
Nom : FX

Informations forums :
Inscription : juillet 2010
Messages : 75
Points : 17
Points : 17
Par défaut Id array to objet url_for

bonjour,

est-il possible de reconstruire un objet dans un template à partir de son id?

Par exemple, j'ai besoin de mes données sous forme de tableau pour des raisons d'optimisation, mais pour le routing, c'est plus simple d'utiliser :

Code :
url_for('categories_show_category', $category)
Est-il possible à partir de l'id de la category de récupérer $category.

Merci.
pixworld est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/12/2011, 19h28   #2
Futur Membre du Club
 
FX
Inscription : juillet 2010
Messages : 75
Détails du profil
Informations personnelles :
Nom : FX

Informations forums :
Inscription : juillet 2010
Messages : 75
Points : 17
Points : 17
Toujours dans le même registre de formation des urls dans symfony, j'ai des données en tableau, je forme donc des urls sans passer par "url_for" de type :

Code :
<a href="/<?php echo $sf_user->getCulture();?>/<?php echo __("contact-us/");?><?php echo $page['Translation'][$sf_user->getCulture()]['slug']; ?>">  </a>
Seulement ce code enlève la notion de "frontend_dev.php", tandis que url_for la conserve.

Quelqu'un a-t-il une solution ?
pixworld est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2011, 09h56   #3
Membre chevronné
 
Avatar de Herode
 
Développeur Web
Inscription : mars 2005
Messages : 771
Détails du profil
Informations personnelles :
Localisation : France, Savoie (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mars 2005
Messages : 771
Points : 790
Points : 790
Citation:
Envoyé par pixworld Voir le message
Est-il possible à partir de l'id de la category de récupérer $category.
Merci.
Code :
CategoryTable::getInstance()->find($id);
ne fonctionne pas ?
(à utiliser dans l'action plutôt que dans le template, bien sûr).

Pour ta deuxième question, $_SERVER['PHP_SELF'] devrait faire l'affaire mais tu te compliques affreusement la vie. Les helpers sont quand-même bien plus commodes/robustes.
Herode est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2011, 17h13   #4
Futur Membre du Club
 
FX
Inscription : juillet 2010
Messages : 75
Détails du profil
Informations personnelles :
Nom : FX

Informations forums :
Inscription : juillet 2010
Messages : 75
Points : 17
Points : 17
bonjour,

je suis tout à fait d'accord avec toi, les helpers sont bien plus pratiques à écrire et on peut plus facilement travailler dessus.

Ma problématique était de réduire le temps de chargement de ma page qui était une requête en objet et la construction d'un arbre avec un foreach donc un tableau.

J'ai divisé par 30 le temps de chargement du component et du template en faisant une requete fetchArray et en parcourant ce même tableau.

J'aurais aimé récupérer dans le template la notion d'objet pour "url_for", mais si tu m'indiques que ça doit être traité dans l'action, je ne vois pas de solution.
pixworld est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2011, 17h45   #5
Membre chevronné
 
Avatar de kenny.kev
 
Homme
Inscription : janvier 2007
Messages : 575
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 27
Localisation : France, Indre et Loire (Centre)

Informations professionnelles :
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : janvier 2007
Messages : 575
Points : 690
Points : 690
Envoyer un message via MSN à kenny.kev
url_for() est une fonction qui prend plusieurs type d'écriture différentes.

par exemple :
Code :
url_for('@homepage', array('id' => $id, 'login' => $login));
ou
Code :
url_for('user/account?id=' . $id . '&login=' . $login);
ou
Code :
url_for('user/account', array('id' => $id, 'login' => $login));
etc.
l'utilisation d'un objet n'est pas utile et très problématique avec les problèmes de perf que tu as déjà.
si tu passes un tableau correspondant à ce que tu as déclarer dans le routing.yml tu auras le même résultat.
Voici la doc : http://www.symfony-project.org/jobeet/1_4/Propel/fr/05
kenny.kev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2011, 19h41   #6
Futur Membre du Club
 
FX
Inscription : juillet 2010
Messages : 75
Détails du profil
Informations personnelles :
Nom : FX

Informations forums :
Inscription : juillet 2010
Messages : 75
Points : 17
Points : 17
Merci beaucoup pour ta réponse, je vais essayer cette solution qui serait beaucoup plus pratique et lisible.
pixworld est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h12.


 
 
 
 
Partenaires

Hébergement Web