Suppression de fonction

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Suppression de fonction

Re: Suppression de fonction

par AB » 21 août 2011, 04:46

L'initiateur du sujet souhaiterait que ce fût la deuxième définition qui fût utilisée...
Assoiffé ! :P

Re: Suppression de fonction

par sirakawa » 20 août 2011, 22:57

Comme quoi, il faut tout lire avant de se précipiter pour dire "Enfantin, mon cher Watson, ya qu'à lire la doc page 31490, alinea 31252, sous-rubrique azerty_qwerty, ...":

il s'agit de deux fonctions différentes définies dans deux fichiers différents et portant le même nom. Comme les deux fichiers sont inclus systématiquement l'un après l'autre par des fonctions d'origine différente qu'il ne semble pas que l'auteur puisse modifier sans risque, il y a tentative de redéfinition. L'initiateur du sujet souhaiterait que ce fût la deuxième définition qui fût utilisée...

Re: Suppression de fonction

par AB » 20 août 2011, 19:37

Le problème, c'est que je crois avoir compris que c'est de la première qu'il ne veut pas....
Impossible;
http://de2.php.net/manual/fr/functions.user-defined.php
Ah oui j'ai lu un peu vite, et je pensais que c'était deux fois la même fonction (et qui donc portaient le même nom)...

Re: Suppression de fonction

par devlop78 » 20 août 2011, 15:36

Oui Dommage moi aussi j'en ai eu besoin un moment, tu peux marquer le sujet comme clos ;)

Re: Suppression de fonction

par mnementh64 » 20 août 2011, 14:30

Résolu. J''utilise simplement une inclusion conditionnelle en détectant que je ne suis pas dans l'admin. Ok pour mon cas mais dommage qu'on ne puisse pas en PHP travailler plus l'introspection des fonctions.

Re: Suppression de fonction

par mnementh64 » 20 août 2011, 12:52

Bonjour,

Merci à tous pour vos réponses.

@sirakawa : effectivement, c'est la première fonction qui ne m'intéresse pas. Pas de chance !
@xTG : C'est vrai que ça aurait pu être une bonne solution mais il se trouve que je ne maîtrise pas la déf de ces 2 fcts.

En fait, j'essaye d'utiliser dans un environnement Prestashop les fonctions et utilitaires Wordpress. Et ça marche très bien avec une solution particulièrement simple, sauf dans l'admin de la boutique parce que :
- wordpress déclare une fonction translate
- Prestashop en déclare une aussi pour son admin. Et bien sûr c'est celle-là qui est importante pour l'admin !

Et pas moyen d'inverser les déclarations. Bon, je vais réfléchir et tester d'autres méthodes.

Dommage !

Sylvain

Re: Suppression de fonction

par xTG » 20 août 2011, 10:02

Jettes un oeil aux namespace, cela devrait résoudre ton problème. ;)

Re: Suppression de fonction

par sirakawa » 20 août 2011, 10:00

Le problème, c'est que je crois avoir compris que c'est de la première qu'il ne veut pas....
Impossible;
http://de2.php.net/manual/fr/functions.user-defined.php

Re: Suppression de fonction

par AB » 20 août 2011, 05:00

Lors de la déclaration de tes fonctions tu peux utiliser function_exists
<?php
if (function_exists('ma_fonction')) {
    function ma_fonction ()
    {

    }
}
?>
De la sorte seule la première fonction rencontrée sera déclarée et tu n'auras plus de pb avec le chargement de la deuxième (qui ne sera pas utilisée).

Suppression de fonction

par mnementh64 » 20 août 2011, 01:22

Bonjour,

Voilà le pb.
J'inclus un fichier php qui contient des fonctions dont une qui s'appelle translate(...).
Je voudrais supprimer cette fonction parce qu'ensuite ...
J'inclus un autre fichier php avec d'autres fonctions dont une qui s'appelle aussi translate().

Si je ne supprime pas ma fonction entre les deux includes, j'obtiens une belle erreur de type cannot redeclare (et en plus, seule la deuxième me sert).

Savez-vous comment faire ?

Merci de votre aide,

Sylvain