• 休闲生活
  • 教育教学
  • 经济贸易
  • 政法军事
  • 人文社科
  • 农林牧渔
  • 信息科技
  • 建筑房产
  • 环境安全
  • 当前位置: 达达文档网 > 达达文库 > 信息科技 > 正文

    PHP-GTK开发客户端程序研究

    时间:2020-09-14 07:51:49 来源:达达文档网 本文已影响 达达文档网手机站

    摘 要: 众所周知,PHP的主要功能是用来开发WEB服务器端程序,但利用PHP-GTK,PHP同样也可以用来开发客户端GUI应用程序,虽然目前用PHP开发客户端程序的应用相对较少,但因其开源、免费,且可跨平台等特点,相信以后一定会有更广阔的发展空间。

    关键词: PHP;PHP-GTK;GUI;客户端程序

    中图分类号:TP312 文献标志码:A 文章编号:1671-7597(2011)1210085-02

    0 引言

    PHP(PHP:Hypertext Preprocessor),即超文本预处理器,是一种被广泛应用的开放源代码的多用途脚本语言,能够用在目前所有主流的操作系统上,并支持大多数的WEB服务器。与使用大量命令编写程序以输出HTML的C或Perl不同,PHP可以嵌入代码到HTML脚本中,这使得PHP尤其适合WEB程序开发。与在客户端运行的JavaScript等脚本不同,PHP代码是运行在服务端的,客户端通过网页浏览器接收服务器端PHP代码运行结果并显示出来,客户端无法查看到服务器端PHP代码的具体内容。

    尽管PHP程序的开发是以服务端脚本为目的的,但事实上其功能远不局限与此。PHP脚本的主要应用有:

    1)服务器端脚本。这是PHP最传统,也是最主要的目标领域。在WEB服务器上安装并配置好PHP后,就可以用WEB浏览器来访问PHP程序的输出,即浏览服务端的PHP页面。

    2)命令行脚本。利用PHP解析器,可以编写不需要任何服务器或者浏览器来运行的PHP脚本,这对于依赖cron(Unix或者Linux环境)或者Task Scheduler(Windows环境)的脚本来说是理想的选择。

    3)编写客户端GUI应用程序。对于编写基于窗口式的应用程序,PHP 或许不是最好的语言选择,但仍可以利用PHP的扩展PHP-GTK来完成实现,并且具有自己的特点和特色,这也是本文所要进行讨论的问题。

    1 PHP-GTK简介

    1.1 GTK及GTK+

    GTK(GIMP Toolkit),是按照LGPL许可协议发布的一套跨多种平台的图形工具包,最初为GIMP(GNU Image Manipulation Program,GNU图形处理程序,一种类似于Photoshop的开源图像处理程序)的专用开发库,后来发展为类Unix系统下开发图形界面应用程序的主流开发工具之一。GTK是完全使用C语言开发的。

    GTK+是GTK的后续版本,仍然是完全使用C语言开发的。相比较GTK,GTK+在设计上运用了面向对象设计(OOD)思想。

    GTK+为应用程序的国际化、本地化提供了很好的处理工具,能够让编写的程序可以不加修改,只需要切换不同语种所需要的语言数据文件,就可以为不同语种的人们所使用。

    GTK+是可移植的,可跨平台的,其具有多种语言前端和支持多种主流操作系统,这使得更多的人可以选择使用GTK+开发应用程序,也使得更多的人可以使用由GTK+开发的应用程序。

    1.2 PHP-GTK

    PHP-GTK是由Andrei Zmievski于2001年计划和创建的,PHP-GTK是PHP的一个扩展,基于GTK+开发,继承了PHP和GTK的特性,目前最新的版本为2.0.1。

    PHP-GTK的出现填补了以前PHP不能编写客户端程序的空白,随着PHP-GTK的不断发展,使得PHP越来越接近于成为一种标准的编程语言而非单独的脚本语言。

    2 PHP-GTK的安装

    2.1 在Windows系统下安装PHP-GTK

    在通常发布的PHP发行包中并不包含PHP-GTK,如果要使用PHP-GTK则需要单独进行安装。

    PHP-GTK在Windows系统中的安装十分简单,只要下载并解压缩PHP-GTK 2.0.1的Windows版本二进制发行包“php-gtk-2.0.1-win32-nts.zip”到计算机本地硬盘中就可以了,比如“D:\php-gtk2”目录。如果还需要对PHP-GTK进行设置,则可以用记事本打开安装目录下的“php-cli.ini”文件,在[PHP]和[PHP-GTK]之间加入特殊设置或对现有设置进行修改。

    PHP-GTK安装后的测试命令如下:

    D:\php-gtk2>php demos\phpgtk2-demo.php

    另外,还可以使用现成的开发环境--Gnope来安装PHP-GTK。Gnope是一个全功能的PHP-GTK安装包,其中包含并集成了PHP、GTK和PEAR。使用Gnope在Windows系统上安装PHP-GTK与安装普通Windows应用程序一样方便和直观,只要运行Gnope的安装文件“GnopeSetup-1.5.1.exe”,并按照安装提示一步步进行就可以了。Gnope安装完成后,还会把.phpw后缀的文件自动与php.exe进行关联,以后编写的PHP-GTK程序只要直接双击程序图标就可以快捷地运行。

    2.2 在Linux系统下安装PHP-GTK

    在Linux系统下安装PHP-GTK既可以选择使用现有PHP环境,也可以另外单独安装一套独立的用于PHP-GTK的PHP环境,推荐使用后一种方法。

    假设PHP已经在Linux系统中安装配置好,安装目录为“/opt/php-5.3.6”,接下来就要开始安装PHP-GTK,命令如下:

    # tar vxzf php-gtk-2.0.1.tar.gz

    # cd php-gtk-2.0.1

    # ./buildconf --with-phpize=/opt/php-5.3.6/bin/phpize

    # ./configure --with-php-config=/opt/php-5.3.6/bin/php-config

    # make

    # make install

    这样PHP-GTK就在Linux系统下安装好了,如果希望运行PHP程序时不输入多余的路径,则需要创建链接到PHP执行文件,命令如下:

    # ln -s /opt/php-5.3.6/bin/php /usr/bin/php-gtk

    # ln -s /opt/php-5.3.6/bin/php /usr/bin/php

    最后,在正式开始使用PHP-GTK之前,还需要修改“/opt/php-5.3.6/lib/php.ini”文件,增加设置该扩展可用,内容如下

    extension=php_gtk2.so

    确定安装成功的测试命令如下:

    # php -m | grep php-gtk

    3 PHP-GTK支持中文的方法

    PHP-GTK对中文的支持问题是经常被人们拿来讨论的,这也是PHP-GTK走入中国市场所必须经受的考验。针对这一问题目前的解决方案有很多,经过研究及对比,其中最简单也最有效的方法是:

    打开php.ini或php-cli.ini文件,找到“php-gtk.codepage=CP1250”

    一行,将等号后面的“CP1250”修改为“UTF-8”,保存后退出。以后编辑的程序文件都要注意保存为UTP-8编码格式,这样用PHP-GTK开发的客户端程序就可以完美支持中文显示了。

    4 PHP-GTK编程示例

    下面使用PHP编写一个PHP-GTK程序样例,代码如下:

    //test.php

    if (!class_exists("gtk")) { //判断是否加载了GTK类库

    die("请在php.ini中加载php-gtk2模块\r\n");

    }

    $wnd = new GtkWindow(); //新建一个窗体

    $wnd->set_title("Hello world"); //设置窗体的标题为Hello world

    $wnd->connect_simple("destroy", array("gtk", "main_quit")); //当执行destroy事件时,将执行Gtk::mail_quit方法,退出GTK主循环

    $lblHello = new GtkLabel("测试\r\n"Hello world!""); //新建一个widget,用label来显示一段文字

    $wnd->add($lblHello); //在窗体内加入这个label

    $wnd->show_all(); //显示窗体的所有元素

    Gtk::main(); //进入GTK主循环,程序启动

    ?>

    将代码保存为UTF-8编码的文件,命名为test.php,并运行测试:

    php test.php

    这样就完成了一个简单的PHP-GTK客户端程序,但这个客户端程序的运行需要客户端计算机上安装有PHP运行环境,并且需要使用PHP命令行模式解析才可以执行,这对于终端用户是不能接受的,所以,一个真正的PHP-GTK产品还需要经过编译处理才可以发行。

    在Windows系统下,PHP-GTK程序的编译可以使用PriadoBlender或者Embeder等工具,经编译后,PHP-GTK程序生成为可执行的.exe文件,这样就可以在客户端不受限制地运行了。

    5 PHP-GTK的发展前景

    虽然PHP-GTK由创建到现在已经经历了十个年头,但PHP-GTK本身的发展及市场的反应一直都比较平淡,这与PHP在Web开发,特别是网站开发方面已处于业界领先地位形成了鲜明的对比。这种情况的出现原因是比较复杂的,究其主要是因为PHP-GTK相比较其他桌面客户端程序开发语言,如Delphi、VB、VC++、C#等无论从在功能和使用上还是从市场推广上都完全不占优势,一直以来都处在“非主流”的位置,关注的人很少。

    虽然处于如此不利的局面,但PHP-GTK却并没有被市场所淘汰,这是因为PHP-GTK有着其鲜明的特点。首先,借助PHP在Web开发方面的迅猛发展势头,PHP程序员的数量大幅增加,而PHP-GTK使得PHP程序员可以使用PHP来编写在客户端独立执行的用户图形界面(GUI)应用程序,例如文本编辑器、媒体播放器、网站的肥客户端程序、手机程序等,实现了PHP的“全平台”使用,这对于PHP程序员的吸引力还是很大的。其次,PHP-GTK程序可跨平台开发,无论是开发环境还是程序运行平台都可以自由灵活选择,而且还是开源、免费的,这是PHP-GTK相比较其它开发语言的优势。再次,PHP-GTK继承了PHP的易用性,安装和使用都非常简单,尤其适合轻量级客户端图形界面应用程序的开发。综上所述,有理由相信,PHP-GTK在激烈的市场竞争中不会消亡,一定会有更广阔的发展空间。

    参考文献:

    [1]PHPGTK[EB/OL].http://gtk.php.net/.

    [2]GTK+百度百科[EB/OL].http://baike.baidu.com/view/1047410.htm.

    [3]Php-gtk自由WIKI[EB/OL].http://wiki.free-abc.com.cn/index.php?

    title=Php-gtk.

    [4]PHP-GTK2中文教程[EB/OL]./topic

    /916473.

    [8]用PHP-GTK2做Win32 GUI程序[EB/OL].http:///kf/201009

    /72396.html.

    作者简介:

    房明(1977-),男,汉族,辽宁沈阳人,硕士,工程师。

    相关热词搜索: 客户端 程序 开发 研究 PHP

    • 生活居家
    • 情感人生
    • 社会财经
    • 文化
    • 职场
    • 教育
    • 电脑上网