2017-07-16 4 views
0

J'ai deux systèmes dans mes sites Web: Wordpress et forum myBB. Je veux les connecter, tous ceux qui s'inscrivent dans wordpress (mon site principal) seront enregistrés dans myBB.Php, inclure 2 fichiers avec des fonctions "ne peuvent pas redeclare"

J'ai commencé à écrire un plugin qui sera un pont. et j'ai le fichier global de MyBB, quand j'inclure ce fichier que je vois cette erreur:

Fatal error: Cannot redeclare get_attachment_icon() ...

Maintenant, comment puis-je inclure le fichier, mais garder les fonctions séparées? puis-je inclure les fonctions dans un espace de noms ou une variable?

Merci pour votre aide!

+0

Vous pourriez les envelopper dans une classe – Scuzzy

Répondre

0

Vous pouvez:

  1. Créer une classe et activer cette fonction dans les méthodes statiques
  2. Réécrire le nom des fonctions et refactorisons le code
  3. Ou vous pouvez essayer cette réponse: https://stackoverflow.com/a/23426311/1906372
+0

Merci pour votre réponse, mais il y a beaucoup de fonctions à désactiver. Il y a un moyen d'inclure la fonction dans la classe ou l'espace de noms ?? I – SaarED

0

La fonction get_attachment_icon est-elle réellement déclarée dans WP et MyBB? Cela semble improbable.

Si elle est dans un seul fichier, puis ce fichier doit être inclus ou nécessaire avec include_once ou require_once, pas avec include ou require.

+0

Merci pour votre réponse, mais oui. J'ai essayé de désactiver la fonction mais il y a plus de fonctions qui ont été redéclarées. il y a un moyen d'inclure la fonction dans la classe ou l'espace de noms ?? Je dois les deux fichiers .. – SaarED

+0

D'abord, vous devez comprendre * ce qui se passe *. Donc: vous avez ** deux fichiers ** et la même fonction avec le même nom est dans les deux? Quels sont les noms de fichiers? Pouvez-vous inclure ** le texte intégral de l'erreur avec les noms de fichier et les numéros de ligne **? – LSerni