以 PHP-GTK + Glade 設計桌面應用程式 - 混合 Web 應用程式的 MVC 架構敏捷途徑

edited 十月 2013 in 進階PHP討論
完整內容發表於本人的部落格,繼續閱讀全文...

我們一般對 PHP 的印象是:寫 Web 應用程式的工具。其實它也可以作為單純的解譯器運行一般的本地程式, PHP 稱此運行模式為 CLI mode。若進一步結合 PHP-GTK 擴充模組 (*1 關於 PHP-GTK 的安裝,請參考《Glade/GTK2 for Windows with PHP5 and Ruby 快速安裝指南》) ,我們仍然可以使用 PHP 設計具有圖形使用者介面的桌面應用程式。

本文不只單純地說明如何利用 PHP-GTK + Glade 設計桌面應用程式,更要混合現成的 Web 應用程式,一併為各位展示 MVC 架構所帶來的高度彈性與可用性。

PHP 是現今最流行的 Web 應用程式開發工具之一。與基於 MVC 架構的各種 framework 結合之後,開發速度與軟體品質也逐漸提昇。同時這也意味著,有愈來愈多現成的 Model 與 Control 組件可用。 MVC 架構在概念上就已經將使用者輸出入、資料來源、運算處理等等不同工作隔離了,其體質原本就可適應分散式架構。因此對 MVC 架構而言, Web 應用程式與桌面應用程式唯一的差異是使用者介面不同,也就是 View 不同。一但我們嘗試利用 PHP-GTK + Glade 設計桌面應用程式時,我們理論上將可直接使用那些原本是為 Web 應用程式所開發的 Model 與 Control 組件,僅需專注於基於 GTK 函數庫的圖形使用者介面之設計工作。
基於 MVC 架構的 Web 應用程式

{
...
一堆程式碼,略。
請看完整內容
...
}

程式碼即文件。本文儘可能地精簡程式碼內容,只使用恰好能展示本文目的之內容。請各位自行閱讀源碼,細細體會 (好吧,我承認我是懶得打字了)。

本文於設計桌面應用程式時,完全使用了原有的 Control 與 Model 組件的程式碼。儘管那些 Control 與 Model 原本是為了 Web 應用程式所設計,但本文仍然未做任何修改便可運用如常。在設計桌面應用程式時所需要做的,就是專注於 View 的內容。本文除了示範如何實作一個封裝 GladeXML 的 View 基礎類,亦適切地展示了 MVC 架構的設計彈性與可用性。

原始討論: http://twpug.net/x/modules/newbb/viewtopic.php?topic_id=2650
Sign In or Register to comment.