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 10/05/2011, 13h37   #1
Invité de passage
 
Inscription : août 2010
Messages : 16
Détails du profil
Informations forums :
Inscription : août 2010
Messages : 16
Points : 0
Points : 0
Par défaut Comment appeler une fonction dans le contrôleur à partir du lib

salut,
j'utilise Symfony pour faire un site,
dans MonProjet/lib/MaClasse.class.php
j'ai une methode Update() :
Code :
1
2
3
4
5
6
7
8
9
10
 
class MaClasse 
{
 
    public function update (AutreClasse $obj)
    {
        //
    }
 
}
je veux à partir de la méthode update() faire appel a une fonction dans le contrôleur " executeIndex() " avec passage de paramètres,

Code :
1
2
3
4
5
6
 
MonProjet\apps\frontend\modules\main\actions\actions.class.php
public function executeIndex(sfWebRequest $request, AutreClasse $obj)
  {
 
  }
mais j'ai eu des problèmes !!!!!
si quelqu'un a une solution ou une une méthode je serai ravi
Merci
NAYZAKAY44 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/05/2011, 14h02   #2
Membre chevronné
 
Avatar de Herode
 
Développeur Web
Inscription : mars 2005
Messages : 769
Détails du profil
Informations personnelles :
Localisation : France, Savoie (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mars 2005
Messages : 769
Points : 788
Points : 788
Une action est appelée pour gérer l'affichage d'une page après traitement de la requête par la couche de routage. Appeler un executeXXX() depuis une méthode du modèle ressemble fort à un tripatouillage frauduleux.

Si tu as dans ton action du code réutilisable, le mieux serait de le placer ailleurs (en fonction de ce qu'il fait exactement) et de l'appeler
- d'une part depuis ton action
- d'autre part depuis ta méthode update.
- et d'une manière générale depuis tout autre endroit où il serait nécessaire.
Herode est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/05/2011, 15h45   #3
Invité de passage
 
Inscription : août 2010
Messages : 16
Détails du profil
Informations forums :
Inscription : août 2010
Messages : 16
Points : 0
Points : 0
le problème c'est que j'utilise les design pattern observateur, et que l’implémentation doit être dans executeIndex() du contrôleur.
NAYZAKAY44 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/05/2011, 16h58   #4
Membre chevronné
 
Avatar de Herode
 
Développeur Web
Inscription : mars 2005
Messages : 769
Détails du profil
Informations personnelles :
Localisation : France, Savoie (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mars 2005
Messages : 769
Points : 788
Points : 788
Peux-tu nous montrer la méthode du contrôleur où ça se trouve ?
Herode est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/05/2011, 18h01   #5
Invité de passage
 
Inscription : août 2010
Messages : 16
Détails du profil
Informations forums :
Inscription : août 2010
Messages : 16
Points : 0
Points : 0
la méthode du contrôleur se trouve dans : apps\frontend\modules\main\actions\actions.class.php
est le nom de la méthode est : executeIndex();
NAYZAKAY44 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2011, 09h27   #6
Membre chevronné
 
Avatar de Herode
 
Développeur Web
Inscription : mars 2005
Messages : 769
Détails du profil
Informations personnelles :
Localisation : France, Savoie (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mars 2005
Messages : 769
Points : 788
Points : 788
Je voulais dire : nous montrer le code PHP qui pose problème
Herode est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h19.


 
 
 
 
Partenaires

Hébergement Web