Convertir PHP pour le code C++
Je suis à la recherche d'un moyen de convertir du code PHP en C++. Il y a quelques raisons que je veux faire:
Raison principale: Il y a des tas de grands outils PHP/le logiciel que j'aimerais utiliser et à intégrer dans C++ GUI ou non des applications GUI
- Pour améliorer les performances
- Pour éviter la dépendance sur les bibliothèques PHP
- Pour éviter de divulguer le code source sur les environnements d'hébergement partagés
- À être habilité par le langage C++ fonctions et utiliser des frameworks comme Qt C++ et Poco
Jusqu'à présent, j'ai trouvé:
http://sourceforge.net/projects/binaryphp
http://www.mibsoftware.com/php2cpp/
Veuillez nous faire part de vos idées et des outils que vous connaissez. Je vous remercie à l'avance!
EDIT:
J'ai aussi besoin de la croix-plate-forme de fonctionnement et bon match pour les $$, sucre syntaxique des fonctions et de l'Interface.
EDIT:
Veuillez noter que les 2 outils ci-dessus 2 approches différentes. Le premier a intégré dans les bibliothèques de convertir PHP code de procédure et de le faire fonctionner. Ce dernier se traduit par (mot par mot) à partir de PHP C++.
- Ressemble vous avez répondu à votre propre question.
- J'ai besoin de plus 🙂 Ceux qui ne sont pas encore suffisants. Comment faire face à des cas tels que $$ ou Interface? J'essaie d'éviter d'écrire mon propre code. J'ai aussi pour but de croix-plate-forme d'interopérabilité.
- PHP est déjà la croix-plate-forme interopérable. Si vous essayez d'éviter d'écrire votre propre code, pourquoi essayez-vous de le convertir en C++?
- Pour clarifier: je suis évitant mon propre PHP-2-C++ convertisseur/traducteur, mais dérivé de code C++ peuvent être utilisés et modifiés.
- Je ne comprends vraiment pas pourquoi cette question est fermé comme "hors-sujet" que Facebook a créé toute une chaîne d'outils spécifiquement pour résoudre la question de l'OP demande!
Vous devez vous connecter pour publier un commentaire.
Cela peut également être intéressant dans un court laps de temps:
https://developers.facebook.com/blog/post/2010/02/02/hiphop-for-php--move-fast/
C'est ce qui permet à facebook en vie 😉
Une technologie qui se traduit par & compile php pour le C++, et est de passer en open-source.
J'attends qu'il soit vraiment bien testé.
Peut-être que je ne suis pas entièrement d'analyser le contexte d'pourquoi vous pensez que vous avez besoin de faire cela, mais je ne pense pas que les raisons que vous avez posté sont particulièrement convaincants.
Pas très nombreuses applications web sont en CPU, donc je ne pense pas que vous serez impressionné par la poussée de la performance. Pour le compiler vers du code natif, ce n'est pas votre I/O ou DB attend plus courte. Il existe de meilleurs moyens à l'échelle d'une application web que de passer au C++, et la plupart d'entre eux impliquent la réduction du temps de votre script est en attente pour les données de la DB ou disque (tels que la fragmentation de votre DB ou le déplacement de données dans une mémoire cache).
Sont les dépendances de la bibliothèque vraiment un problème? La plupart des bibliothèques populaires sont fournis avec le coeur de PHP maintenant, en plus de ceux qui sont généralement simples à installer. Une fois que vous avez 'em, vous ne touchez pas 'em, donc je ne suis pas sûr de savoir pourquoi cela est particulièrement convaincante de raison de passer à C++.
C'est en fait une très MAUVAISE raison de passer à C++. La plupart partagé environnements d'hébergement vous permettra d'exécuter des scripts dans un environnement PHP, mais très peu à rien (sauf si vous êtes à la recherche à un VPS) permet d'exécuter un binaire arbitraire comme vous aurez avec un C++ application. Il y a de meilleurs moyens de contrôle de la source de la lisibilité dans des environnements partagés, comme l'utilisation des autorisations de fichier correctement. Si vous êtes inquiet au sujet de nos clients voler votre code PHP, eh bien, tant pis. Vous pouvez essayer de dissimuler ce que vous voulez, mais il est généralement inutile à la fin de la journée.
Quelles fonctionnalités C++ ne vous ont si désespérément besoin que PHP n'offre pas? Pour être honnête, l'idée de la moyenne de votre codeur PHP marinage sur les pointeurs et l'allocation de mémoire peur la merde hors de moi. Il existe de très bons cadres disponibles pour PHP, et je vous suggère de vous épuiser la totalité de ces options avant de vous tourner pour changer la langue de l'ensemble de votre base de code juste pour certaines fonctionnalités que vous aimez dans le cadre particulier.
Vous avez mentionné la croix-compatibilité de plate-forme dans votre commentaire... PHP est honnêtement va rendre cela plus facile que le C++ est. Le PHP de mise en œuvre est relativement standardisées sur toutes les plateformes (à l'exception de quelques bas-fonctions de niveau) alors que vous êtes probablement va être l'aide d'un compilateur différent et appels système en C++.
Après beaucoup de recherches, j'ai trouvé http://www.phpcompiler.org/doc/maketea.pdf et http://rosecompiler.org/ROSE_Tutorial/ROSE-0.9.4a-Tutorial.pdf . Depuis le code source PHP peut être analysé et puis traslated XML, convertir en C++ est juste une question de XSLT. En outre, PHPCompiler prend également en charge les plugins et les diverses transformations de code source (basé sur les AST transformations). Je pense que cela devrait être suffisant pour l'instant.
Quelques références supplémentaires:
Merci à tous pour votre participation au débat!
Facebook hip-hop est ouvert pendant un certain temps maintenant:
https://github.com/facebook/hiphop-php/
1-3 peut être accompli par le Zend Compilateur
http://www.zend.com/en/
4 est un peu bizarre, parce que n'est pas l'intervalle Qt C++ d'une INTERFACE utilisateur de bureau cadre?