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 22/11/2010, 21h32   #1
Membre régulier
 
Inscription : janvier 2008
Messages : 212
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 212
Points : 75
Points : 75
Envoyer un message via Skype™ à mantex
Par défaut Strict Standards: Non-static method

Bonsoir,

Pour les besoin d' un template de statistiques j' appel une fonction définie dans une autre classe (non héritée) du modèle courant.

Le résultat est celui attendu mais j' ai des vilains warning en dev:

Citation:
Strict Standards: Non-static method consultantActions::calculeffectif() should not be called statically, assuming $this from incompatible context in /usr/share/php/symfony/data/web/p18i/apps/backend/modules/consultant/templates/showevaluationSuccess.php on line 44
1
La fonction est appelé comme ceci dans le template:

Code :
1
2
 
 <?php echo ConsultantActions::calculeffectif(1,1,1) ?>
La fonction est définie dans mon action.class , j' ai pensé la définir directement dans le modèle mais j' obtiens le même résultat.

Une idée pour faire cela plus proprement ?
mantex est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2010, 21h39   #2
Modérateur
 
Inscription : septembre 2010
Messages : 7 058
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 058
Points : 8 401
Points : 8 401
c'est
Code :
1
2
$consult = new ConsultantActions();
$consult->calculeffectif(1,1,1);
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2010, 21h54   #3
Membre régulier
 
Inscription : janvier 2008
Messages : 212
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 212
Points : 75
Points : 75
Envoyer un message via Skype™ à mantex
Mais tu cela dans le template ?

il aime pas trop !



Notice: Undefined variable: actionName in /usr/share/php/symfony/action/sfComponent.class.php on line 38

Fatal error: Call to a member function getEventDispatcher() on a non-object in /usr/share/php/symfony/action/sfComponent.class.php on line 55
mantex est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/11/2010, 02h20   #4
Modérateur
 
Avatar de Michel Rotta
 
Homme Michel Rotta
Responsable d'exploitation informatique
Inscription : septembre 2005
Messages : 4 913
Détails du profil
Informations personnelles :
Nom : Homme Michel Rotta
Âge : 49
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Responsable d'exploitation informatique
Secteur : Distribution

Informations forums :
Inscription : septembre 2005
Messages : 4 913
Points : 7 505
Points : 7 505
Tu as raison de vouloir utiliser une méthode static pour ce type de calcul.

Tu as tors de le faire depuis un objet action qui n'est pas static.

Utilise un objet dans une lib perso que tu définiras comme static, défini ta méthode comme static itou et tu verras tout va rentrer dans l'ordre.
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
  • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
  • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
  • Une discussion est terminée ? Alors le bouton est votre ami !
Michel Rotta est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/11/2010, 18h24   #5
Membre régulier
 
Inscription : janvier 2008
Messages : 212
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 212
Points : 75
Points : 75
Envoyer un message via Skype™ à mantex
Oui en fait j' ai créer une classe metier avec mes fonctions de stats qui vont bien , je l' instancie depuis mon controler je l' appel dans mon template avec le paramètre adéquate en fonction de l' emplacement attendu dans le template.
mantex est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/11/2010, 19h10   #6
Membre éclairé
 
Inscription : octobre 2004
Messages : 235
Détails du profil
Informations forums :
Inscription : octobre 2004
Messages : 235
Points : 360
Points : 360
calculeffectif() n'est pas déclarée static de ce que je comprends du message d'erreur, il te suffit de la déclarer static c'est tout :-)
Joker-eph est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/11/2010, 19h39   #7
Membre régulier
 
Inscription : janvier 2008
Messages : 212
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 212
Points : 75
Points : 75
Envoyer un message via Skype™ à mantex
En fait au début j' avais défini ma fonction dans le action.class.

j' essayais d' appeler cette fonction dans le template avec ConsultantActions::calculeffectif() ..

J' ai carrément déporté mes fonctions dans une classe métier Calculateur.
mantex 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 05h10.


 
 
 
 
Partenaires

Hébergement Web