Journal Embarqué l'interprèteur PHP

Posté par  (site web personnel) .
Étiquettes : aucune
0
18
juil.
2003
Bon voila, je cherche à embarquer l'interprèteur PHP dans une application écrite en C++. En gros je voudrais pouvoir faire des scripts pour cette application avec la syntaxe et la bibliothèque (particulièrement complète) de PHP seulement voila, je trouve aucune lib, aucune doc :(

C'est dingue ça, ça existe pour plein de langages (Perl, Python, Tcl, Ruby...) mais que dalle pour PHP.
C'est moi ou bien ?
  • # PHP ça SUX

    Posté par  . Évalué à 0.

    Ruby for ever!!!!
  • # Re: Embarqué l'interprèteur PHP

    Posté par  . Évalué à 2.

    Regarde plutôt du côté du Perl. CPAN ça c'est de la bilbliothèque particulièrement complète. En plus le Perl au moins c'est expliqué comment on l'intègre. Je l'ai jamais fait mais j'ai survolé un guide(que tu devrais trouver facilement) et ça m'avait l'air plutôt simple à faire.
    • [^] # Re: Embarqué l'interprèteur PHP

      Posté par  (site web personnel) . Évalué à 1.

      je sais, j'ai vu pas mal de truc, je te dirais meme que je trouve qu'avec tcl c'est encore plus simple, mais je voudrais avoir PHP, car bon les autres langages je les maitrise pas aussi bien que le PHP et j'ai pas trop envie de m'y mettre...

      Donc bon en dernier recours :)

      https://damien.pobel.fr

  • # Re: Embarquer l'interpréteur PHP

    Posté par  . Évalué à 1.

    hum, si ça n'a pas été fait jusque là il y a sans doute une raison... J'ai bien peur que tu te retrouve avec une dose de boulot assez conséquente sur les bras pour un truc qui, s'il est bénéfique à la communauté, ne correspondra pas forcément pour autant à tes attentes. Je m'explique: si tu as codé ton appli en C++, à priori c'est pour le support objet, chose qui manque justement à PHP (à moins que tu veuilles essuyer les plâtres du nouveau support objet de la v5.0)
    Avec un truc comme python, tu a des exemples à foison, une API documentée et un cadre objet qui collerait peut-être plus à ce que tu veux faire.
    M'enfin, si tu veux faire comme ça, deux pistes:
    - http://swig.sf.net(...) une lib pour faire des wrappers de libs C/C++. ça marche très bien avec python, perl et d'autres, et ils annoncent PHP dans leur liste de langages supportés. A toi de vérifier ce qu'il en est.
    - jette aussi un coup d'oeil sur PHP-Gtk, ça ressemble peut-être à ce que tu veux faire.

    quoi qu'il en soit bon courage...
    • [^] # Re: Embarquer l'interpréteur PHP

      Posté par  . Évalué à 2.

      Si j'ai bien compris, SWIG c'est l'inverse de ce qu'il veut : ça permet d'intégrer des fonctions en C++ dans un programme en Perl ou autre, alors que lui il veut intégrer des fonctions en PhP dans un programme en C++.
    • [^] # Re: Embarquer l'interpréteur PHP

      Posté par  (site web personnel) . Évalué à 1.

      Merci pour la piste !! C'est un bon début...

      Cela dit pour le problème objet ou non, il est vrai que PHP4 est assez limité sur ce point (en attendant le 5 iminent) mais en fait si j'ai codé mon truc en C++ c'est uniquement parce que j'aime bien l'objet, je trouve que ça clarifie le code (on sait toujours de quoi on parle...), mais pour les scripts que je veux intégrer, l'objet n'est pas forcément un pré requis au langage... Donc bon je vais me pencher swig... Encore merci pour la piste.

      https://damien.pobel.fr

      • [^] # Re: Embarquer l'interpréteur PHP

        Posté par  (site web personnel) . Évalué à 1.

        « si j'ai codé mon truc en C++ c'est uniquement parce que j'aime bien l'objet »

        Arg ! Encore une victime du marketing. Si tu aimes la programmation orienté objet, choisi Eiffel, Ruby ou d'autres langages orientés objet. Que l'on programme en C++ pour des tas de mauvaises raisons, cela peut se concevoir mais choisir C++ parce qu'on aime bien l'objet ça resemble plus à un hoax qu'autre chose.

        Sinon Eiffel permet de faire des liens duplex vers d'autres langages (appeller du code Eiffel dans un programme en langage X et appeller du code d'un langage X dans un programme Eiffel) je sais pas si PHP est dans le tas et s'il est facile de l'y ajouter.

        Sinon au pire tu peux t'interfacer en GOTO++ qui est un langage de script naturellement lié au C++. D'ailleurs PHP a (mal-)pompé plusieurs principes au GOTO++.
        • [^] # Re: Embarquer l'interpréteur PHP

          Posté par  (site web personnel) . Évalué à 1.

          ouais enfin bon, je vais pas me taper l'apprentissage de tous les langages juste pour bidouiller un peu pendant mes vacances... Et je dois dire que Eiffel et Ruby sont vraiment deux langages qui ne m'attirent pas mais alors pas du tout...

          L'autre intéret du C++ si tu veux tout savoir, c'est le fait que ça passe partout, je peux utiliser mon programme aussi bien sur mon PC que sur les serveurs de mon école où évidemment les trucs trop exotiques sont pas installé et où j'y peux vraiment rien...

          https://damien.pobel.fr

          • [^] # Re: Embarquer l'interpréteur PHP

            Posté par  (site web personnel) . Évalué à 1.

            Bah, sinon je peux te proposer SmallTalk ou CLOS (Comon Lisp Object System, une sur-couche à Comon Lisp pour faire de l'objet) qui sont aussi avec du vrai objet dedans.

            Ou alors, mais vraiment si tu insiste tu peux aller voir OCaml, mais à partir de là je décline toute responsabilité. :)

            Sinon, pourais-je savoir ce qui te rebute dans Eiffel ou Ruby (qui ont pourtant pas grand point communs pourtant). C'est pas pour troller, c'est pour mon travail. :p

            Quant-a ton dernier point, c'est vrai Eiffel est rarement installé par défaut (au grand désespoir de son créateur) mais Ruby est souvent là.


            $ apt-cache search "\bc++\b" | wc -l
            1316
            $ apt-cache search "\bc\b" | wc -l
            1310
            $ apt-cache search "\bperl\b" | wc -l
            1002
            $ apt-cache search "\bjava\b" | wc -l
            390
            $ apt-cache search "\btcl\b" | wc -l
            192
            $ apt-cache search "\bruby\b" | wc -l
            183
            $ apt-cache search "\bphp\b" | wc -l
            159
            $ apt-cache search "\bocaml\b" | wc -l
            67
            $ apt-cache search "\bsmalltalk\b" | wc -l
            15
            $ apt-cache search "\bclos\b" | wc -l
            14
            $ apt-cache search "\beiffel\b" | wc -l
            9
            • [^] # Re: Embarquer l'interpréteur PHP

              Posté par  (site web personnel) . Évalué à 1.

              en fait je sais pas ce que ne m'attire pas dans Ruby ou Eiffel... :) je sais c'est purement subjectif...

              Faut dire aussi que je ne connais aucun bons logiciels fait avec donc forcément la notoriété est plutot absente meme si ce sont probablement de très bon langages, je n'en doute pas... Et puis j'ai jamais vu une offre d'emploi avec marquée "Connaissance [Ruby|Eiffel]" exigé alors que Perl/PHP/Python si :)

              Bon Smalltalk bah voila, j'ai appris ça en première année et j'ai jamais pu m'y faire... Comme les langages de programmations fonctionnelles d'ailleurs...

              Bref C/C++ pour du compilé et PHP/Perl/Python/Tcl pour de l'interprèté... [Pas de troll SVP]

              Sinon il est clair que Ruby et Eiffel ne seront probablement jamais installé dans mon école comme beaucoup de choses... Pour info nos charmants serveurs Alpha sont malheureusement sous Tru64 ce magnifique Unix :-( ça a déjà été la lutte pour qu'on ait le droit d'avoir quelques outils GNU alors Ruby ou Eiffel...

              https://damien.pobel.fr

  • # Re: Embarqué l'interprèteur PHP

    Posté par  (site web personnel) . Évalué à 1.

    PHP est un language serveur, pas un langage destiné à la compilation. Perl n'est pas un langage compilé, mais ses fonctionnalités une fois intégré dans l'"exe" sont nettement plus pauvres.

    Php étant basé sur C, Perl, etc.. il est facile de se tourner vers ceux-ci.
    • [^] # Re: Embarqué l'interprèteur PHP

      Posté par  . Évalué à 1.

      Perl n'est pas un langage compilé
      Ratai, perl est un langage compilé, un programme perl est compilé avant chaque éxécution.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.