`
wangminshe89
  • 浏览: 661918 次
文章分类
社区版块
存档分类
最新评论

实战PHP/GTK(转载)

 
阅读更多

实战PHP/GTK(转载)

刁馋 发表于 2002-2-19 15:25 PHP编程 ←返回版面

以前PHP被认为只能用来编写服务器端的CGI程序,如果说PHP能够开发Windows下的GUI(图形用户界面)程序,你相信吗?最近,PHP的开发小组成功开发出了捆绑GTK+的PHP,那么就可以开发Windows下的GUI程序了。

一、建立PHP/GTK运行环境:
其实GUI程序和普通的PHPCGI程序没有什么区别,不过是PHP/GTK程序由GTK的类来生成GUI界面而已,他们同样是开放源代码,靠PHP来解析建立窗口。如果你已经建立好了PHP的调试环境,那么安装PHP/GTK环境比较简单:
1、下载php_gtk.dll(这个dll文件用于解析PHP源程序里面的GTK代码),下载后将其解压到PHP的扩展(extension)目录中;
2、下载其他PHP/GTK的dll文件(一共6个),将他们解压缩到Windows的system32目录里面;
3、打开php.ini,在扩展设置部分“Windows Extensions”最下面加入“extension=php_gtk.dll”的语句,建议先备份php.ini,避免修改失败使得建立好的PHP运行环境作废;
现在就建立好了PHP/GTK的运行环境了。当然,你也可以不作第二步,而改为在每个PHP/GTK程序源代码的第一行加入“dl('php_gtk.dll')”来动态加载GTK的支持。
如果你还没有建立PHP运行环境,那么安装要更加简单:
1、下载整个PHP/GTK的捆绑支持包,然后将他们解压缩到c盘的PHP4目录下面;
2、将winnt目录下面的dll文件拷贝到Windows的system32目录中,将php.ini文件拷贝到Windows的目录中;
建立好了PHP/GTK的运行后,可以用命令行模式的PHP来运行一个PHP/GTK程序:在运行中输入“c:/php4/php -q gtkprogrampath”,其中“c:/php4/php”改为PHP.EXE的路径,“gtkprogrampath”就是PHP/GTK程序的路径。比如:“c:/php4/php -q c:/php4/samples/hello.php”将会运行PHP/GTK运行包中附带的例子“hello world”程序。

二、编译PHP/GTK程序:
如果你作出一个PHP/GTK的应用程序,还需要对方的电脑建立PHP的运行环境并且使用PHP命令行模式来解析才可以执行的话,那就过于复杂了。那么怎么样才可以编译一个PHP/GTK的程序呢?经过一番搜索,笔者发现了PHPCompiler这个软件。
PHPCompiler由www.deskcode.com开发(http://www.deskcode.com/phpcompiler),可以将PHP编译成为EXE可执行文件,内置了PHP的支持,如果你要编译一个PHP/GTK程序,必须建立PHP/GTK的运行环境(参照前面的步骤)。要编译一个PHP/GTK程序的步骤如下:
1、打开PHPCompiler(如图),在“Script to”选择希望编译的PHP程序源代码,在“Destination”处选择编译成功后的EXE文件的路径;
2、点击“Compile”按钮,会弹出一个对话框询问使用的编译模式(如果是PHP/GTK程序就选择no,是单纯的PHPCGI程序就选择yes);
3、然后又会弹出一个对话框询问是否拷贝php4ts.dll文件到编译后的EXE文件的目录,选择yes。
经过上面的步骤,一个PHP/GTK程序就成功编译了,但是对于编译PHP/GTK程序还有几个需要注意的地方:
1、编译完成后的可执行文件如果需要执行,PC机上面必须具有GTK运行环境所需的几个dll文件(就是前面下载的那几个),如果需要作成应用程序,可以在安装的时候将几个dll文件拷贝到system32目录中(不过这样子程序也就不是“绿色软件”了^_^)。
2、PHPCompiler本身对于PHP的支持非常好,但是有些人试过用一些需要扩展支持的函数,比如“gzopen”等等,在编译之前还好好的,编译完毕后就不能用了。其实编译完成后的可执行文件,相当于了只有默认的PHP支持(连GTK支持都没有了),所以如果在程序中应用了任何需要扩展支持的函数,都必须动态的加载支持函数的dll文件,比如“dl('php_gtk.dll')”,这样子编译完成后才不会出错。
3、运行一个编译后的可执行文件,都会先弹出一个DOS窗口,然后自动关闭,因为每个GUI窗口都是通过GTK来“绘制”出来的,所以必须会有那个窗口。
4、或许以前PHP还不能说是真正的OOP(面向对象程序)语言,但是到了PHP/GTK,任何一个窗口都由GTK对象来“绘制”,如果没有过硬的OOP功底,是很难写出GUI程序的。

三、PHP/GTK资源:
1、http://gtk.php.net:PHP/GTK的官方网站;虽然说是官方网站,但是确简陋的很,出了一个FAQ和邮件列表,几乎找不到任何有用的东西了,
2、http://www.phpgtk.com:一个界面比较好的PHP/GTK网站,有最新的版本信息。
3、http://developer.gnome.org/doc/API/gtk/gtkobjects.html:PHP/GTK函数和类的大全/手册网站,里面有十分丰富的PHP/GTK资料。
4、http://www.phpuk.org/gtk/:非官方版本的GTK手册网站,简单易懂。

如果大家认为E文比较难看,也可以来zphp.com下载最新的PHP/GTK运行环境和支持包。

分享到:
评论

相关推荐

    基于C gtk/gtk+ sqlite3选课系统的开发

    基于C gtk/gtk+ sqlite3选课系统的开发

    输入法环境变量XMODIFIERS/GTK_IM_MODULE

    本文介绍了我们常用的输入法,分析了GTK immodule比XIM的好处。

    gtk-sharp-2.12.25

    gtk-sharp-2.12.25 windows安装文件

    gtk-engines-

    ftp://ftp.gtk.org/pub/gtk/ Sources ======= The source code of gtk-engines is available from: http://ftp.acc.umu.se/pub/GNOME/sources/gtk-engines/ The development version is available from gtk-...

    gtk-3.24.zip

    GTK+(GIMP Toolkit)是一套源码以LGPL许可协议分发、跨平台的图形工具包。最初是为GIMP写的,已成为一个功能强大、设计灵活的一个通用图形库,是GNU/Linux下开发图形界面的应用程序的主流开发工具之一,可搭配...

    Centos搭建GTK+Codeblock完整版

    安装GTK+和Libglade所需要的一些源码,包括libpng,tiff,glib,atk,cairo,pango,gtk+以及安装说明

    gtk 代码实例(比较全了)

    包括15个文件夹,每一个文件夹都是一个完整的例子,循环渐进,从简单到复杂

    Chessground-Relm / GTK的棋盘小部件-Rust开发

    rust-chessground用于Relm / GTK的实验性棋盘小部件。 受Chessground.js的启发。 功能使用Shakmaty的词汇,但是国际象棋规则rust-chessground Relm / GTK的实验性棋盘小部件。 受Chessground.js的启发。 功能使用...

    GTK+ FAQ常见问题解答

    2.7 我安装一个 GTK+ 应用程序的时候, configure 抱怨说她找不到 GTK. 3. GTK+ 的目前进展状况 3.1 大家在讨论的 CVS 到底是个什么家伙,我怎么访问她呢? 3.2 我可以为 GTK+ 做些什么呢? 3.3 我怎么知道我的补丁...

    GTK+GNOME程序设计PDF(高清)2

    本书详细介绍了两种Linux图形用户界面开发技术:GTK+/GNOME。主要内容包括:GUI的基本概念,GLib,GTK+及GNOME的简介,各种GUI元素的创建与使用,bIDE,Glade等等。最后通过两个综合实例来巩固所学知识。本书实例...

    Glade/Gtk+ for Windows-开源

    Windows端口的Glade3。最新版本包括带有捆绑的GTK + 2.16.0和libxml 2.7.3的独立安装程序。 不需要额外的安装程序或zip文件。 在mingw下编译不需要对Glade源进行任何更改。

    gtk 3.24.24 for win32

    GTK+(GIMP Toolkit)是一套源码以LGPL许可协议分发、跨平台的图形工具包。最初是为GIMP写的,已成为一个功能强大、设计灵活的一个通用图形库,是GNU/Linux下开发图形界面的应用程序的主流开发工具之一。并且,GTK+也...

    php_gtk2_win安装程序及中文开发手册

    欢迎使用 PHP-GTK 2 用户手册!本手册将帮助你开始使用 PHP-GTK 2, 并就语言的各个方面提供全面的指导。 本手册分为两个部分。第一部分是快速指南。 这部分将帮助你从头开始使用 PHP-GTK 2 编程,同时将深入讨论...

    php-gtk中文手册

    安装 PHP-GTK 2 Hello World(基础) Hello World(高级) Hello Glade! PHP-GTK 1 之后的变化 GTK,Pango 和支持库 摆放元件 面向对象编程 Signal Handling GtkTreeView Tutorial (basic) PHP-GTK 2 Documentation

    LINUX应用程序开发指南:使用GTK+ GNOME库目录

    LINUX应用程序开发指南:使用GTK+ GNOME库目录

    Smooth GTK1/GTK2 Theme Engine-开源

    平滑的GTK1 / GTK2主题引擎是一个简单的主题引擎,旨在平滑,快速且可高度配置,因此最终可以模仿大多数(即使不是全部)主要主题引擎,达到很高的精确度,同时仍然占用很小的空间。

    gtkwave开源波形分析安装使用手册

    GTKWave 3.3 Wave Analyzer User's Guide, here is the link to get the source code or precompiled version: http://gtkwave.sourceforge.net/

    GNU/Gtk BlowIT-开源

    GNU / Gtk BlowIt是(E)EPROM编程器,目前支持AT89C2051(兼容MCS-51)微控制器,并计划支持其他设备。 该项目最初由Ondrej Kolonicny启动。

    Gtk.jl, Julia接口到Gtk窗口工具箱.zip

    Gtk.jl, Julia接口到Gtk窗口工具箱 面向 Gtk 2 和 Gtk 3 GUI库的接口 使用Gtk库的GUI构建: http://www.gtk.org/完整的Gtk文档在 https://developer.gnome.org/gtk/stable 可

Global site tag (gtag.js) - Google Analytics