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

Langage PHP Discussion :

Appel de fonctions C++ dans du PHP : quelles solutions ?


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Août 2009
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 27
    Points : 17
    Points
    17
    Par défaut Appel de fonctions C++ dans du PHP : quelles solutions ?
    Bonjour à tous,

    j'ai une application écrite en PHP et j'aimerais appeler des fonctions incluses dans une bibliothèque écrite en C++. Le tout devrait être hébergé sur un serveur Apache de préférence.

    Je vois donc 3 possibilités :

    1) Ecrire une extension PHP et appeler les fonctions dans mon code PHP;
    2) Faire un web service avec les fonctions intéressantes et l'utiliser dans mon code PHP.
    3) Service WCF ?
    4) Autres ?

    Étant vraiment nouveau dans le domaine, j'aimerais connaître les avantages et les inconvénients de ces méthodes selon vous.

    pour l'instant, voici un peu les avantages et les inconvénients des 3 méthodes.
    (Tout ceci est selon moi alors il est fort probable que ce soit n'importe quoi...)

    1) Extension PHP
    Les + :
    + Plus rapide car moins d'overhead;

    Les - :
    - Limité aux scripts PHP installés sur le même serveur;
    - Si le serveur de destination est sous Linux, alors il faudra développer (au minimum tout recompiler) sous Linux;
    - Plus complexe à mettre en œuvre;

    2) Service Web
    Les + :
    + Intégrable à plusieurs applications en même temps. Alors que l'extension PHP sera limitée aux scripts PHP installés sur le même serveur, le service web peut être consommé à peu prêt partout, et sous toutes les formes.
    + Mise en œuvre plus simple;
    + Peut être écrit en C++ avec Apache Axis/C, WSO2 WSF/C ou gSoap;
    + Peut être écrit avec ASP.NET + C# et tourner sur Apache;
    + Plus de flexibilité pour le déploiement;

    Les - :
    - L'overhead peut-être plus élevé que pour une extension PHP;

    3) Service WCF (??)
    Les + :
    +

    Les - :
    - Ne peut pas être héberger sur un serveur Apache.

    Meilleures salutations.
    K.

  2. #2
    Membre à l'essai
    Inscrit en
    Août 2009
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 27
    Points : 17
    Points
    17
    Par défaut
    <Inclus dans le premier message>

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    957
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 957
    Points : 1 177
    Points
    1 177
    Par défaut
    Extensions
    + beaucoup plus rapide.

    mais j'opterais tout de même pour le webservice qui te donneras moins de tracas.

  4. #4
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 230
    Points
    20 230
    Par défaut
    Tout dépend de ce que tu as besoin. Si c'est pour transférer un peu de donnée texte entre les deux appli un webservice voir des socket sont tout à fait adaptés.
    Si en revanche tu as besoin de performance (traitement important sur des images par exemple) l'extension est préférable.
    Et pas forcément besoi nde développer sous linux , il n'y a que la compilation que tu devras adapter il me semble
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre à l'essai
    Inscrit en
    Août 2009
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 27
    Points : 17
    Points
    17
    Par défaut
    Merci pour vos réponses.

    Vous semblez tous les 2 d'accord pour dire qu'en termes de rapidité d'exécution, il vaut mieux choisir l'extension. J'avoue ne pas vraiment voir pourquoi. Car la différence entre l'extension PHP et le service web c'est juste l'interface non ? Le coeur lui, pourra être codé dans le 2 cas en C++. Au final, la différence de rapidité devrait être minime non ?

    K.

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    957
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 957
    Points : 1 177
    Points
    1 177
    Par défaut
    Ta reflexion a du sens, le traitement en lui meme sera sensiblement le meme.
    Ta perte de performance viendra des connexions entre ton application et ton web service quel qu'il soit.

  7. #7
    Membre à l'essai
    Inscrit en
    Août 2009
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 27
    Points : 17
    Points
    17
    Par défaut
    Citation Envoyé par batataw Voir le message
    Ta reflexion a du sens, le traitement en lui meme sera sensiblement le meme.
    Ta perte de performance viendra des connexions entre ton application et ton web service quel qu'il soit.
    Ok. Donc pour résumer, l'overhead est plus lourd pour un service web que pour une extension PHP.

    K.

  8. #8
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    957
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 957
    Points : 1 177
    Points
    1 177
    Par défaut
    Oui, c'est cela.

  9. #9
    Membre à l'essai
    Inscrit en
    Août 2009
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 27
    Points : 17
    Points
    17
    Par défaut
    Je rajoute peut-être la création d'un service WCF. Je ne sais pas si ça peut être utile dans mon cas...

    Je modifie aussi mes exigences de départ.

    D'autres commentaires ou suggestion ?

    K.

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

Discussions similaires

  1. Appel de fonction Javascript dans un code php
    Par missmiss89 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 25/07/2011, 15h24
  2. Réponses: 1
    Dernier message: 25/10/2007, 21h25
  3. [PHP-JS] appeler une fonction javascript dans un lien
    Par kawther dans le forum Langage
    Réponses: 2
    Dernier message: 25/04/2007, 10h43
  4. Réponses: 2
    Dernier message: 19/09/2006, 19h06
  5. Appel à des fonctions incluses dans des DLL
    Par Greybird dans le forum Langage
    Réponses: 3
    Dernier message: 26/05/2003, 13h33

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