2011-01-02 7 views
8

Me pregunto si hay marcos de abstracción para una de las bibliotecas de PHP gui. Tenemos PHP-GTK, una interfaz PHP/Tk, y aparentemente también PHP-QT. (No intenté ninguno.)cualquier biblioteca de MVC real en PHP (para aplicaciones de GUI)

Sé que escribir en la interfaz cruda Gtk + en Python es simplemente soportable, y por lo tanto no parece ser muy atractivo para PHP. Supongo que es lo mismo para Qt, y Tk es bastante bajo también. Así que estoy buscando algo que proporcione una mejor estructura de objetos encima de cualquiera de los tres. Principalmente TreeViews son siempre una tarea ardua y las devoluciones de llamada de php-gtk son raras en PHP, por lo que me gustaría una simplificación para eso. Si se facilita la adición de la GUI/Vista encima de mi lógica empresarial sin mucho código de control, eso ya podría ayudar.

Y como las aplicaciones GUI son un área donde MVC o MVP realmente tendrían sentido, me gustaría saber si existe alguna biblioteca para eso.

Todavía abierto para las respuestas.
(No es probable que haya una segunda ronda de recompensas. Es un tema poco común, por lo que necesita más investigación.)

+3

No he visto las librerías MVC para aplicaciones de GUI PHP, probablemente principalmente porque son una raza bastante rara, pero de todas formas es una pregunta interesante. –

+0

Me encantaría ver algo como esto, idealmente con soporte para frameworks RIA basados ​​en JS como ExtJS y Dojo o incluso XUL, pero eso probablemente sea solo un sueño. – Gordon

+0

Esto es interesante y una dirección relativamente nueva para PHP, una que me gustaría que se mudara, para competir mejor con .Net y Java. Ofrezco formalmente contribuir con cualquier proyecto de código abierto en esta línea. Avíseme si comienza uno como resultado de esta pregunta. – DampeS8N

Respuesta

0

http://phpketchup.isgreat.org/PHPKetchup es un nuevo proyecto en etapa de planificación. No hay ningún código disponible por ahora (también parece destinado comercial, no de código abierto). Fue anunciado como framework encima de PHP-GTK. Hay un conception document que enumera explícitamente el objetivo como diseñar un marco MVC.

Sin embargo, parece que se inspiran en CodeIgniter y, en su mayoría, en la estructura de marco de PHP común. El enfoque parece no estar en la integración de PHP-GTK con la lógica de la aplicación, sino principalmente para proporcionar una interfaz de base de datos como modelo y una interfaz Gtk delgada para la Vista.

MVC Arquitectura:
Vamos a diseñar e implementar el Modelo-Vista-Controlador arquitectura (MVC) para el marco de PHP-GTK. SQLite se usará para el Modelo. Las funciones PHP-GTK y los archivos Glade se integrarán en View después de la eliminación de HTML, CSS y Javascript. El controlador se modificará en consecuencia para trabajar con la Vista recién creada.

Así que puede que solo sea MVC en nombre y organización, pero uno de los diagramas menciona "funciones adicionales de PHP-GTK" y hay más pistas de ayudantes Gtk con estructura de objetos.

1

Ha intentado WinBinder? No exactamente relacionado con MVC, pero es una extensión muy buena para crear programas basados ​​en la interfaz gráfica de usuario en PHP.

+0

No se considera porque es solo para Windows, no me sirve. La API de devolución de llamada es un poco más torpe que en php-gtk. Pero está relacionado, así que dejemos este consejo aquí. Alguien más puede encontrarlo más útil que los otros toolkits GUI. – mario

2

[No es una respuesta. Solo quería eliminar esto de la pregunta, ya que solo está relacionado, no es una solución.]

Está el PHP interface preprocessor. Sin embargo, es muy simple y de bajo nivel. Proporciona una interfaz de salida para Gtk, así como ncurses, pero también serialización PDF o XHTML. Lo que es interesante, ya que está cerca de las construcciones MVC reales al permitir intercambiar Ver por diferentes backends sin adaptar el controlador incluso. Pero luego solo proporciona los widgets básicos, y no muchas simplificaciones. Por lo tanto, solo lo considero relacionado con mi pregunta original. Entonces, una nota al margen.

0

Realmente dudo que encuentres algo así listo para usar OotB. La programación de PHP GUI ha fallado por completo hace algunos años.

Lo que puede hacer, sin embargo, es usar algún tipo de puente para conectar MVC decente desde otro idioma. ¿Qué PHP tiene siguientes opciones:

+0

Swig/Boost fueron probablemente la base para las uniones Gtk, Tk y Qt. El puente de Java es algo sofisticado (y complejo), pero una vía interesante para futuras investigaciones. Y entonces Quercus o ProjectZero también podrían tener sentido. Por último, preferiría un puente Python IPC ... – mario

+0

En caso de que cambies a Python, realmente tienes una * lot * opción más. Incluyendo wxWidgets muy populares. – vartec

+0

En cuanto a Quercus y ProjectZero, no son realmente 100% compatibles con PHP de Zend. – vartec

Cuestiones relacionadas