php - remove - strip_tags wordpress
Convierte código PHP a C++ (5)
Estoy buscando una forma de convertir el código PHP a C ++. Hay algunas razones por las que quiero hacerlo:
Motivo principal: hay un montón de excelentes herramientas / software de PHP que me encantaría usar e incorporar a la GUI de C ++ o aplicaciones que no son de GUI
- Para aumentar el rendimiento
- Para evitar la dependencia de las bibliotecas PHP
- Para evitar la divulgación de código fuente en entornos de alojamiento compartido
- Ser potenciado por las características del lenguaje C ++ y hacer uso de frameworks como Qt C ++ y Poco
Hasta ahora he encontrado:
http://sourceforge.net/projects/binaryphp
http://www.mibsoftware.com/php2cpp/
Por favor comparte tus ideas y herramientas que sabes. ¡Gracias de antemano!
EDITAR: también necesito operabilidad multiplataforma y buena coincidencia para $$, funciones sintácticas de azúcar e interfaz.
EDITAR: Tenga en cuenta que 2 herramientas mencionadas utilizan 2 enfoques diferentes. El primero tiene bibliotecas incorporadas para convertir el código de procedimiento de PHP y hacerlo funcionar. Este último traduce (palabra por palabra) de PHP a C ++.
1-3 puede ser logrado por el compilador Zend
4 es un poco raro, porque ¿Qt C ++ no es un framework de interfaz de usuario de escritorio?
Después de mucha investigación, encontré http://www.phpcompiler.org/doc/maketea.pdf y http://rosecompiler.org/ROSE_Tutorial/ROSE-0.9.4a-Tutorial.pdf . Como el código fuente de PHP se puede analizar y luego traducir a XML, convertirlo a C ++ es solo cuestión de XSLT. Además, PHPCompiler también admite complementos y varias transformaciones del código fuente (basado en transformaciones AST). Creo que debería ser suficiente por ahora.
Algunas referencias adicionales:
- http://www.phpcompiler.org
- http://www.phpcompiler.org/doc/latest/devintro.html
- http://rosecompiler.org
- http://rosecompiler.org/ROSE_UserManual/ROSE-UserManual.pdf
¡Gracias a todos por participar en la discusión!
Esto también podría ser interesante en poco tiempo:
https://developers.facebook.com/blog/post/2010/02/02/hiphop-for-php--move-fast/
Es lo que mantiene vivo a Facebook;) Una tecnología que traduce y compila php a C ++ y que va a ser de código abierto. Espero que esté realmente bien probado.
Facebook hiphop está abierto desde hace un tiempo: https://github.com/facebook/hiphop-php/
Tal vez no entiendo completamente el contexto de por qué cree que necesita hacer esto, pero no creo que las razones que publicó sean particularmente convincentes.
No hay muchas aplicaciones web conectadas a la CPU, así que no creo que te impresionará el aumento en el rendimiento. Compilarlo en código nativo no hará que su E / S o DB esperen más. Hay mejores formas de escalar una aplicación web que moverse a C ++, y la mayoría de ellas implican reducir el tiempo que su script está esperando datos de la base de datos o del disco (como fragmentar su base de datos o mover datos a una caché de RAM).
¿Las dependencias de la biblioteca realmente son un gran problema? Muchas de las bibliotecas más populares se incluyen con el núcleo de PHP ahora, además de las adicionales que son generalmente fáciles de instalar. Una vez que los tienes, no los tocas, así que no estoy seguro de por qué esta es una razón particularmente convincente para pasar a C ++.
Esta es realmente una MALA razón para pasar a C ++. La mayoría de los entornos de alojamiento compartido le permitirán ejecutar scripts en un entorno PHP, pero muy pocos o ninguno (a menos que esté viendo un VPS) le permitirán ejecutar un binario arbitrario como el que tendrá con una aplicación C ++. Hay mejores formas de controlar la legibilidad de la fuente en entornos compartidos, como usar correctamente los permisos de archivos. Si te preocupa que los clientes roben tu código PHP, bueno, lástima. Puedes intentar ofuscarlo todo lo que quieras, pero generalmente no tiene sentido al final del día.
¿Qué características específicas de C ++ necesitas tan desesperadamente que PHP no ofrezca? Para ser sincero, la idea de que tu codificador PHP promedio se estropee con punteros y asignación de memoria me asusta. Hay muy buenos marcos disponibles para PHP, y le sugiero que agote completamente todas esas opciones antes de cambiar el idioma de toda la base de códigos solo por algunas características que le gustan en un marco particular.
Mencionaste compatibilidad multiplataforma en tu comentario ... PHP honestamente va a hacer esto más fácil que C ++. La implementación de PHP está relativamente estandarizada en todas las plataformas (a excepción de unas pocas funciones de nivel inferior), mientras que es probable que utilice un compilador diferente y llamadas al sistema en C ++.