发新话题
打印

PHP-GTK2扩展库的安装和简单的示例

PHP-GTK2扩展库的安装和简单的示例

要学习PHP-GTK2就要对PHP和GTK2有一定的了解,本章节将简要的介绍PHP的安装以及PHP-GTK2扩展库的安装,并教大家试着写一些简单的程序

下面这个截图就是首页上的那个程序

http://www.phpgtk.net/  PHP GTK2 中文教程

TOP

Windwos用户请到这里下载
http://www.gnope.org/download.php
如果您是WINDOWS用户,可能本站的提供的代码不能直接执行,原因是要把第一行的<?改为<?php 这样就可以运行了,呵呵

Linux用户
1 安装PHP5
./configure --prefix=/opt/php_5_1
我是把PHP5安装到/opt/php_5_1这个目录中,如果要改变安装或者加入其他扩展库的支持,请自己手动修改以上的参数
不再详细介绍安装PHP5

2 安装phpgtk2
下载phpgtk2 http://gtk.php.net
注意:官方发布的版本可能有问题,如果不能顺利编译,请从本站下载,本站的编译脚本是已经修改过的,在ubuntu 6.06以及gentoo 2006上测试通过
下载地址:
http://www.phpgtk.net/upload/php-gtk.tar.gz

安装phpgtk2
复制内容到剪贴板
代码:
root@tonyvicky# tar vxzf php-gtk.tar.gz
root@tonyvicky# cd php-gtk
root@tonyvicky# ./buildconf --with-phpize=/opt/php_5_1/bin/phpize
root@tonyvicky# ./configure --with-php-config=/opt/php_5_1/bin/php-config
root@tonyvicky# make
root@tonyvicky# make install
安装之后会有类似这样的提示:
Installing shared extensions: /opt/php_5_1/lib/php/extensions/no-debug-non-zts-20050922/
把上边那个目录记下来,那个目录就是扩展库所在的路径

之后修改/opt/php_5_1/lib/php.ini
文件内容如下:
复制内容到剪贴板
代码:
    extension=php_gtk2.so
    extension_dir= /opt/php_5_1/lib/php/extensions/no-debug-non-zts-20050922
如果想运行PHP程序时不输入多余的PHP路径,可以做一个链接:
复制内容到剪贴板
代码:
root@tonyvicky# ln -s /opt/php_5_1/bin/php /usr/bin/php-gtk
root@tonyvicky# ln -s /opt/php_5_1/bin/php /usr/bin/php
之后我们运行PHP程序都可以用类似这样的方式:

复制内容到剪贴板
代码:
root@tonyvicky# php-gtk test.php


或者:
复制内容到剪贴板
代码:
root@tonyvicky# php test.php
至此,安装结束
祝好运
http://www.phpgtk.net/  PHP GTK2 中文教程

TOP

我们的第一个phpgtk2程序 《Hello,World》
不要问我为什么又是"hello,world"
因为这已经成为一个通用,初学任何语言都是由浅入深,GTK也是如此

废话不多说了,开始编码了
复制内容到剪贴板
代码:
<?
// test.php
$window = new GtkWindow();      // 创建一个GtkWindow对象
$window->set_default_size(460,260);     // 设置窗体的大小
$window->set_title("Hello,World");      // 设置窗体的标题
$window->show_all();    // 显示窗体
Gtk::main();    //进入GTK主循环
?>
运行程序
复制内容到剪贴板
代码:
root@tonyvicky# php test.php
上面这个程序将创建一个空的窗体,显示在桌面上,程序运行起来后,你会发现,即使关闭窗体,程序还是没有终止,这是因为这个程序依然在GTK事件的主循环当中,如果要关闭窗体就退出的华,需要加入回调函数,来告诉GTK程序应该退出了
我们接下来要改进一下这个程序了,我们要加上回调
复制内容到剪贴板
代码:
<?
// test.php
function quit()
{
    Gtk::main_quit();
}
function hello()
{
    echo "Hello,Worldn";
    Gtk::main_quit();
}

$window = new GtkWindow();    // 创建一个GtkWindow对象
$window->set_default_size(460,260);     // 设置窗体的大小
$window->set_title("Hello World");    // 设置窗体的标题

$window->connect("destroy","quit");    // 加入的回调,当执行destroy事件时,将执行quit函数,退出GTK的主循环

$button = new GtkButton("Hi");    // 创建一个GtkButton对象
$button->connect("clicked","hello");    // 当执行click事件时(鼠标点击按钮),将执行hello函数,在屏幕上输出hello,world并退出程序

$window->add($button);


$window->show_all();    // 显示窗体
Gtk::main();    //进入GTK主循环
?>
运行程序:
复制内容到剪贴板
代码:
root@tonyvicky# php test.php



怎么样? 是不是很有趣
http://www.phpgtk.net/  PHP GTK2 中文教程

TOP

发新话题