2011-01-02 4 views
8

Mi chiedo se ci siano dei framework di astrazione per una delle librerie gui PHP. Abbiamo PHP-GTK, un'interfaccia PHP/Tk e apparentemente anche PHP-QT. (Non provato.)qualsiasi libreria MVC reale in PHP (per le applicazioni della GUI)

So che scrivere contro l'interfaccia Gtk + in Python è semplicemente sopportabile, e quindi non sembra molto allettante per PHP. Presumo che sia lo stesso per Qt, e anche Tk è piuttosto di basso livello. Quindi sto cercando qualcosa che fornisca una struttura di oggetto più bella in cima a uno qualsiasi dei tre. In primis TreeView è sempre un lavoro ingrato e le callback php-gtk sono strane in PHP, quindi mi piacerebbe una semplificazione. Se facilita l'aggiunta della GUI/visualizzazione in cima alla mia logica aziendale senza molto codice di controllo, ciò potrebbe già essere d'aiuto.

E così, dal momento che le app GUI sono un'area in cui MVC o MVP avrebbero davvero senso, mi piacerebbe sapere se esiste una libreria per quella esistente.

Ancora aperto per le risposte.
(Ci sarà probabilmente un secondo turno di taglie. E 'un argomento raro, quindi ha bisogno di più ricerca.)

+3

Non ho visto librerie MVC per applicazioni GUI PHP - probabilmente soprattutto perché sono una razza piuttosto rara - ma comunque interessante. –

+0

Mi piacerebbe vedere qualcosa di simile, idealmente con il supporto per framework RIA basati su JS come ExtJS e Dojo o anche XUL, ma probabilmente è solo un pipedream. – Gordon

+0

Questo è interessante, e una direzione relativamente nuova per PHP, una che mi piacerebbe vederla muoversi, per competere meglio con .Net e Java. Sto offrendo formalmente di contribuire a qualsiasi progetto open source seguendo queste linee. Avvisami se ne inizi uno come risultato di questa domanda. – DampeS8N

risposta

0

http://phpketchup.isgreat.org/PHPKetchup è un nuovo progetto in fase di pianificazione. Non c'è alcun codice disponibile per ora (sembra anche inteso commerciale, non open source). È stato annunciato come framework su PHP-GTK. C'è uno conception document che elenca esplicitamente l'obiettivo come progetto di un framework MVC.

Tuttavia sembra che si ispirino a CodeIgniter e principalmente alla struttura di framework PHP comune. L'obiettivo non sembra essere quello di integrare PHP-GTK con la logica dell'applicazione, ma soprattutto di fornire un'interfaccia database come modello e un'interfaccia Gtk sottile per la vista.

MVC Architettura:
Noi progettare e implementare Model View-Controller-(MVC) Architettura per il framework PHP-GTK. SQLite verrà utilizzato per il modello. Le funzioni PHP-GTK e i file Glade saranno integrati in Vista dopo la rimozione di HTML, CSS e Javascript. Il controller verrà modificato di conseguenza per funzionare con la vista appena creata.

Quindi potrebbe essere solo MVC nel nome e nell'organizzazione, ma uno dei diagrammi menziona "PHP-GTK functions addition" e ci sono ulteriori suggerimenti di helper Gtk strutturati a oggetti.

1

Hai provato WinBinder? Non proprio correlato a MVC, ma un'estensione molto bella per creare programmi basati su gui in PHP.

+0

Non considerato dal momento che è solo per Windows, non serve a me. L'API di callback è un po 'più maldestra rispetto a php-gtk. Ma è correlato, quindi lasciamo questo suggerimento qui. Qualcun altro potrebbe trovarlo più utile degli altri toolkit della GUI. – mario

2

[Non una risposta. Volevo solo rimuovere questo dalla domanda, in quanto è solo relativo, non una soluzione.]

C'è il PHP interface preprocessor. Tuttavia è molto semplice e di basso livello. Fornisce un'interfaccia di output per Gtk, nonché ncurses, ma anche serializzazione PDF o XHTML. Il che è interessante, in quanto è vicino ai costrutti MVC reali che consentono di scambiare la Visualizza per diversi backend senza adattare il Controller anche. Ma fornisce solo i widget di base e non un sacco di semplificazioni. Quindi lo considero solo in relazione alla mia domanda iniziale. Quindi, una nota a margine.

0

Dubito davvero che troverete qualcosa di simile pronto per l'uso di OotB. La programmazione della GUI in PHP è completamente fallita alcuni anni fa.

Ciò che si può fare, tuttavia, è utilizzare una sorta di bridge per interfacciare MVC decente con un'altra lingua. Quale PHP avete seguenti scelte:

+0

Swig/Boost erano probabilmente la base per i binding Gtk, Tk e Qt. Il ponte Java è un po 'elaborato (e complesso), ma una strada interessante per ulteriori ricerche. E poi anche Quercus o ProjectZero potrebbero avere un senso. In definitiva preferirei un bridge IPC Python. – mario

+0

Nel caso in cui dovessi passare a Python, avresti davvero molta scelta. Compresi wxWidgets molto popolari. – vartec

+0

Come per Quercus e ProjectZero, non sono nemmeno compatibili al 100% con PHP di Zend. – vartec

Problemi correlati