Glade/GTK2 for Windows with PHP5 and Ruby 快速安裝指南
本文將指引讀者,如何在 Windows 平台上快速安裝 GTK2/Glade 暨 PHP (PHP-GTK) 與 Ruby (Ruby-GNOME2) 的開發環境。
在泛Unix環境下,我們通常使用 GTK+ 開發圖形化使用介面(GUI)的應用程式。GTK+ a multi-platform toolkit for creating graphical user interfaces
. 許多動態語言,如 Perl, Python, Ruby, PHP 等等,皆可利用 GTK+ 開發圖形化使用介面程式。由於上述動態語言之軟體開發環境與 GTK+ 皆具有跨平台的特性,因此利用它們所設計出的應用程式,通常可運作於多種作業平台之上,包括 Win32 (Windows 2k/XP) 平台。
另一方面,隨著 Web application 演進,我們也開始關注以中介性標籤語言(markup language)進行圖形化介面的視覺設計工作之可行性 (Markup language 對應用軟體設計工作的影嚮)。正好, GTK+ 就有 Glade 這麼一套視覺化使用者介面設計工具。 Glade is a User Interface Designer for GTK+ and GNOME. 它可以將使用者介面的設計成果以 XML 儲存,而應用程式可利用 GladeXML 函數庫載入使用介面。透過 GladeXML ,程序員便不需使用程式語言進行使用者介面的設計工作。
安裝 GTK2/Glade
首先拜訪 Glade 網站,大略了解 Glade 相關資訊。網站上也提供了 Glade 的線上 API 與使用者手冊。但 Glade 網站中並未提供 Windows 版本的軟體安裝套件。故請至 Glade for Windows 取得 Windows 版本的 GTK2/Glade 軟體安裝套件。
在本文中,使用 GTK+ 2.10.11 (gtk-dev-2.10.11-win32-1.exe)。安裝後,應該會在桌面上新增一個 Glade 的圖示,並註冊4組環境變數,如下例:
GTK_BASEPATH = C:\GTK\2.0 INCLIDE = %INCLUDE%;C:\GTK\2.0\INCLUDE;(...很多項) LIB = %LIB%;C:\GTK\2.0\LIB; PATH = %PATH%;C:\GTK\2.0\BIN;
安裝 Ruby-GNOME2
在這之前,應該先安裝 Windows 版本的 Ruby 開發工具。
Ruby-GNOME2 is a set of Ruby language bindings for the GNOME 2.0 development environment. 請下載 Windows 版本的軟體安裝套件。在本文中,使用 ruby-gnome2-0.16.0-1-i386-mswin32.exe 。
請將 Ruby-GNOME2 與 Ruby 安裝在同一目錄下,例如 C:\ruby。由於 GTK2 Runtime 已獨立安裝,故不需要安裝 Ruby-GNOME2 安裝套件中的 GTK2 Runtime 。
安裝 PHP-GTK
在這之前,應該先安裝 Windows 版本的 PHP5 開發工具。
PHP-GTK is an extension for the PHP programming language that implements language bindings for GTK+. 請下載 Windows 版本的軟體安裝套件。在本文中,配合 PHP5 的版本,使用 php-gtk-2.0.0 alpha Windows binary for PHP 5.2.* (php-gtk2-alpha-5_2-win32.zip)。Gnope 提供了 Windows 版本的 PHP5 + PHP-GTK 等開發工具的整合安裝套件。然而其中使用的版本較舊,且與官方釋出的 PHP5 Windows 版本相容性較差,故不建議使用此整合安裝套件。
解壓 PHP-GTK2 至一個暫時性目錄,將 php_gtk_libglade2.dll 及 php-gtk2.dll 這兩個檔案複製到 PHP5 的 ext 目錄之中,例如 C:\php5\ext。由於 GTK2 Runtime 已獨立安裝,故不需要安裝 PHP-GTK2 中的 GTK2 Runtime 。
最後參考 PHP-GTK2 中的 php.ini 內容,修改 PHP5 的 php.ini 。加掛 PHP-GTK2 的 extension ,並增加 [PHP-GTK] 的組態區段。
extension = php-gtk2.dll [PHP-GTK] ;;;;;;;;;;;;;;;;;;;;;; ; PHP-GTK extensions ; ;;;;;;;;;;;;;;;;;;;;;; ; Extensions written for PHP-GTK are in the format php_gtk_*.dll (Windows) or ; php_gtk_*.so (Unix), written here as a comma-separated list. The library ; files need to be in the same directory as the PHP-GTK library, along with ; any other PHP extensions you are using. php-gtk.extensions = php_gtk_libglade2.dll ;;;;;;;;;;;;; ; Code Page ; ;;;;;;;;;;;;; ; The string variables used for titles and other text values in GTK+ are ; encoded in UTF-8 internally. A code page is needed so that PHP-GTK 'knows' ; which character set is being used, and can convert it to UTF-8 as necessary. ; If your environment uses UTF-8 already, you can set the codepage directive ; to UTF-8 to skip the conversions. ; The default codepage setting in PHP-GTK 2 is ISO-8859-1, but you can also ; use either OEM (e.g. 850) or Windows Code Pages (e.g. CP1250) here, so ; long as the encoding format you choose is capable of iconv conversion. See ; http://www.microsoft.com/globaldev/reference/cphome.mspx for a list of ; the code pages and character sets that are supported on Windows systems. php-gtk.codepage = UTF-8 ;Under Win2k/XP: ;codepage CP950 is BIG5 ;codepage CP1250 is ISO-8859-1
Hello Glade
啟動 Glade RAD 設計工具,設計一個簡單的 Hello Glade 範例。如圖所示:
Glade 會將設計結果儲存為 XML 文件,預設副檔名為 .glade 。上圖之設計結果儲存為 C:\helloglade.glade 。
helloglade.glade
helloglade.php
以 PHP5 撰寫一個程式,利用 GladeXML 函數庫載入 glade 文件。將之儲存於 C:\helloglade.php 。
執行:C:\> php5\php-win.exe helloglade.php
helloglade.rb
以 Ruby 撰寫一個程式,利用 GladeXML 函數庫載入 glade 文件。將之儲存於 C:\helloglade.rb 。
執行:C:\> ruby\bin\rubyw.exe helloglade.rb
相關連結
- GTK+ - The GIMP Toolkit
- GNOME: The Free Software Desktop Project
- Glade - a User Interface Designer for GTK+ and GNOME
- Glade for Windows
- Ruby Programming Language
- Ruby-GNOME2
- PHP
- PHP-GTK
- Gnope - GUI Development with PHP-GTK2