IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

Strict Standards: Non-static method [1.x]


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 212
    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:

    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 ?

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    c'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $consult = new ConsultantActions();
    $consult->calculeffectif(1,1,1);

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 212
    Par défaut
    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

  4. #4
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    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.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 212
    Par défaut
    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.

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    329
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2004
    Messages : 329
    Par défaut
    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 :-)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Joomla!] Strict Standards: Non-static method JLoader::import() should not be called statically in
    Par ouldfella dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 0
    Dernier message: 23/01/2012, 10h04
  2. non-static method cannot be referenced from a static context
    Par Spawny123 dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 04/03/2010, 21h38
  3. error non static method
    Par Kihmé Xs dans le forum Général Java
    Réponses: 4
    Dernier message: 14/11/2008, 12h30
  4. [MySQL] Erreur : Non-static method DB::isManip()
    Par lodan dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 02/09/2007, 15h37
  5. Cannot make a static reference to the non-static method
    Par semaj_james dans le forum Langage
    Réponses: 5
    Dernier message: 11/05/2006, 23h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo